日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[蓝桥杯][基础练习VIP]Huffuman树

發布時間:2023/12/4 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [蓝桥杯][基础练习VIP]Huffuman树 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述
Huffman樹在編碼中有著廣泛的應用。在這里,我們只關心Huffman樹的構造過程。

給出一列數{pi}={p0, p1, …, pn-1},用這列數構造Huffman樹的過程如下:

  • 找到{pi}中最小的兩個數,設為pa和pb,將pa和pb從{pi}中刪除掉,然后將它們的和加入到{pi}中。這個過程的費用記為pa + pb。

  • 重復步驟1,直到{pi}中只剩下一個數。

  • 在上面的操作過程中,把所有的費用相加,就得到了構造Huffman樹的總費用。

    本題任務:對于給定的一個數列,現在請你求出用該數列構造Huffman樹的總費用。

    例如,對于數列{pi}={5, 3, 8, 2, 9},Huffman樹的構造過程如下:

  • 找到{5, 3, 8, 2, 9}中最小的兩個數,分別是2和3,從{pi}中刪除它們并將和5加入,得到{5, 8, 9, 5},費用為5。

  • 找到{5, 8, 9, 5}中最小的兩個數,分別是5和5,從{pi}中刪除它們并將和10加入,得到{8, 9, 10},費用為10。

  • 找到{8, 9, 10}中最小的兩個數,分別是8和9,從{pi}中刪除它們并將和17加入,得到{10, 17},費用為17。

  • 找到{10, 17}中最小的兩個數,分別是10和17,從{pi}中刪除它們并將和27加入,得到{27},費用為27。

  • 現在,數列中只剩下一個數27,構造過程結束,總費用為5+10+17+27=59。
    輸入
    輸入的第一行包含一個正整數n(n< =100)。

  • 接下來是n個正整數,表示p0, p1, …, pn-1,每個數不超過1000。
    輸出
    輸出用這些數構造Huffman樹的總費用。
    樣例輸入

    5
    5 3 8 2 9

    樣例輸出

    59

    解題思路:
    簡單的huffman樹基礎題!!!

    代碼如下:

    #include <iostream> using namespace std; int s1, s2; int ans;typedef struct {int w;int p;int l, r; } *ht, hn;void select(ht &h, int n, int &s1, int &s2) {int minv;for (int i = 1; i <= n; i++)if (h[i].p == 0) {minv = i;break;}for (int i = 1; i <= n; i++) {if (h[i].p == 0)if (h[i].w < h[minv].w)minv = i;}s1 = minv;for (int i = 1; i <= n; i++) {if (h[i].p == 0 && s1 != i) {minv = i;break;}}for (int i = 1; i <= n; i++)if (h[i].p == 0 && s1 != i)if (h[i].w < h[minv].w)minv = i;s2 = minv;}void createtree(ht h, int n) {if (n <= 1)return;int m = 2 * n - 1;h = new hn[m + 1];for (int i = 1; i <= n; i++) {h[i].p = 0;h[i].l = 0;h[i].r = 0;}for (int i = 1; i <= n; i++)cin >> h[i].w;for (int i = n + 1; i <= m; i++) {select(h, i - 1, s1, s2);h[s1].p = i;h[s2].p = i;h[i].l = s1;h[i].r = s2;h[i].w = h[s1].w + h[s2].w;ans += h[i].w;} }int main() {ht h;int n;cin >> n;createtree(h, n);cout << ans << endl;return 0; } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的[蓝桥杯][基础练习VIP]Huffuman树的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 久久香蕉影院 | 男女做的视频 | 在线免费观看网站入口在哪 | 亚洲精品视频播放 | 18做爰免费视频网站 | 国产色啪 | 精品一区二区视频 | 国产手机av在线 | 老头老太做爰xxx视频 | 日本成人在线免费观看 | 国产精品国产三级国产aⅴ无密码 | 中文字幕高清在线 | 国产另类ts人妖一区二区 | 狂野欧美性猛交xxxxhd | feel性丰满白嫩嫩hd | 一区二区三区免费看视频 | 丁香花在线影院观看在线播放 | 欧美亚洲日本一区 | 极品探花在线 | 国产在线一区二区三区四区 | 天天草天天干 | 中文字幕不卡在线观看 | 激情小说综合 | a级片在线视频 | 亚洲v欧美v另类v综合v日韩v | jizzjizz国产 | 婷婷狠狠| 五月激情久久 | 亚洲不卡中文字幕无码 | 日韩精品在线免费观看视频 | 96日本xxxxxⅹxxx17 | 日韩中文字幕亚洲 | 国产精品1区2区3区4区 | 香蕉视频网站在线观看 | 亚洲欧美日韩精品色xxx | 五月丁香久久婷婷 | 欧美视频一区二区 | 青青草逼| 成人网站在线进入爽爽爽 | 大陆一级片 | 高h奶汁双性受1v1 | 欧美午夜精品一区二区蜜桃 | 日韩夜夜 | 久久久久久久久久久久久国产 | 久久国产精品精品国产 | 成年人看的免费视频 | 久久精品2019中文字幕 | 日韩一区二区av | 一本大道综合伊人精品热热 | www.国产.com | 毛片网站在线免费观看 | 成人久久精品 | 国产精品毛片 | 国产精视频 | 精品黄色 | 少妇与公做了夜伦理69 | 久久99免费 | 一二三区在线观看 | 四虎影院国产精品 | 亚洲天堂影院在线观看 | 激情综合久久 | 日韩一级不卡 | 69国产视频| 天天色天天爽 | www中文字幕 | 免费国产黄色片 | 国产美女久久久久久 | 日韩a毛片 | 日本中文一区 | 中日韩毛片 | 妖精视频一区二区三区 | 日韩在线第一 | 一区二区三区在线看 | 精品伦一区二区三区 | 艳妇乳肉豪妇荡乳av无码福利 | 黄色三级国产 | 欧美色图第一页 | 色综合av在线 | 操色网 | 麻豆精品视频 | 日韩av在线电影 | 女人下面无遮挡 | 日本一区免费 | 日韩免费福利 | 欧美v日本 | a在线| 国产视频一区二区视频 | 亚洲福利在线播放 | 亚洲国产成人一区二区 | 国产成人久久精品麻豆二区 | 日本在线第一页 | 蜜美杏av | 久草影视网 | 精品人妻一区二区免费视频 | 日本午夜网 | 国产精品无码在线播放 | 久久综合激情 | 日韩精品久久久 | 日本人妻伦在线中文字幕 |