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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

pta 构造哈夫曼树-有序输入 优先队列做法

發布時間:2024/3/7 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pta 构造哈夫曼树-有序输入 优先队列做法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

pta 構造哈夫曼樹-有序輸入 優先隊列做法

構造哈夫曼樹,然后輸出它樹的中序序列。

從小到大的順序給出詞頻(不超過10個),根據詞頻構造哈夫曼樹。

為確保構建的哈夫曼樹唯一,本題做如下限定:

(1)選擇根結點權值最小的兩棵二叉樹時,選取權值較小者作為左子樹。

(2)若多棵二叉樹根結點權值相等,按先后次序分左右,先出現的作為左子樹,后出現的作為右子樹。

輸入格式:
第一行輸入詞頻個數; 第二行按從小到大的順序輸入每個詞頻。

輸出格式:
輸出中序序列,中間以一個空格隔開。

輸入樣例:

3
1 1 2

輸出樣例:

2 4 1 2 1

思路:
1. 建立一個元素是二叉樹結點的優先隊列,要求權重小的在前。
2. 將輸入的元素入隊列。
3. 反復取出前兩個結點,組成新結點,然后入隊列,直到隊列為空。此時隊列的最后一個結點就是哈夫曼二叉樹的根結點。
4. 中序遍歷二叉樹。

其中1 2 3步是用優先隊列創造哈夫曼二叉樹的步驟,還是比較重要的。

完整代碼:

#include <iostream> #include <queue> using namespace std;typedef struct Haffm {int priority;//權重Haffm* lchild;Haffm* rchild; }Haffmtree;void midorder(Haffmtree*& root) {//中序遍歷打印結果if (root==NULL)return;midorder(root->lchild);cout << root->priority <<" ";midorder(root->rchild); } struct myCompare {//比較函數,小的在前bool operator()(Haffmtree*& a, Haffmtree*& b) {return a->priority > b->priority;} };Haffmtree* buildHaffmtree(priority_queue<Haffmtree*, vector<Haffmtree*>, myCompare>& haffm) {do {Haffmtree* first = haffm.top();haffm.pop();if (haffm.empty()) {return first;}//哈夫曼數已經完成排序,first是根結點Haffmtree* root = new Haffmtree;root->lchild = first;root->rchild = haffm.top();haffm.pop();root->priority = root->lchild->priority + root->rchild->priority;//根結點權重是左右子樹權重之和。haffm.push(root);//將根結點入隊列} while (!haffm.empty()); } int main() {priority_queue<Haffmtree*, vector<Haffmtree*>, myCompare> haffm;int n;cin >> n;while (n--) {Haffmtree* node = new Haffmtree;cin >> node->priority;node->lchild = node->rchild = nullptr;haffm.push(node);}Haffmtree* root = buildHaffmtree(haffm);midorder(root);return 0; }

總結

以上是生活随笔為你收集整理的pta 构造哈夫曼树-有序输入 优先队列做法的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产成人精品影院 | 日韩久久影院 | 91在线精品视频 | 99re色| 国产成人精品一区二区色戒 | 中文字幕人成人乱码亚洲电影 | 成人免费毛片足控 | 国产乱码在线 | 57pao成人国产永久免费视频 | 亚洲国产情侣 | 亚洲欧美另类图片 | 中文字幕一区二区在线播放 | 加勒比精品在线 | 深夜福利日韩 | 蜜臀在线一区二区三区 | 亚洲精品大全 | 欧美xxxx黑人又粗又长密月 | 成人激情开心网 | 最新日韩在线视频 | 国产中文一区二区三区 | 亚洲精品喷潮一区二区三区 | 国产日韩欧美精品 | 欧美日韩不卡合集视频 | 欧美性猛交xxxx乱大交3 | 国产中文一区 | 韩国妻子的朋友 | 国内偷拍第一页 | 三级做爰在线观看视频 | 国产精品搬运 | 亚洲精品xxx | 精品国产乱码久久久久久浪潮 | 无码人妻精品一区二区蜜桃色欲 | 成人在线免费视频 | 精品欧美一区二区三区成人 | 四虎影视在线播放 | 国产激情综合五月久久 | 九色porny自拍视频在线播放 | 女女同性女同一区二区三区按摩 | 久久成人激情 | 欧美老女人性视频 | 日韩理论在线 | 艳妇臀荡乳欲伦交换电影 | 少妇愉情理伦片bd | a级无遮挡超级高清-在线观看 | 老司机成人免费视频 | 国产日产欧美一区二区三区 | 妖精视频在线观看 | 国产成人精品片 | 波多野结衣中文字幕在线播放 | 麻豆成人精品 | 男人天堂手机在线观看 | 久久久国产片 | 久久国产精品波多野结衣 | 亚洲成人网在线 | 黄色特级网站 | 久久偷拍免费视频 | 亚洲射色| 国产另类av | 久章草影院 | 国产综合第一页 | 国产精品无码一区二区无人区多人 | 日本高清视频在线播放 | 少妇喷潮明星 | 捆绑裸体绳奴bdsm亚洲 | 精品人伦一区二区 | 国产乱叫456在线 | 黄网在线免费观看 | 日本wwwxx | 国产精品久久久久精 | 中文字幕免费观看 | 中文字幕123区| 欧美成人极品 | 久久人人爽人人 | 日韩在线视频第一页 | 久久午夜鲁丝片午夜精品 | 又粗又猛又爽又黄少妇视频网站 | 青青国产在线视频 | www欧美| 青青草成人影视 | 国产丝袜久久 | 国产黄色一级片视频 | 97精品人人a片免费看 | 一区二区三区在线 | 黄色性视频网站 | 午夜免费观看 | 一级黄色网 | 国产精品视频1区 | 日本福利在线 | 色香av| 免费看女生隐私 | 男人操女人网站 | 污污小说在线观看 | 少妇一级淫片免费放中国 | 免费性爱视频 | 噼里啪啦动漫高清在线观看 | 在线播放的av | 精品九九 | 极品色av| 国产精品久久久久久99 |