贪心算法之用优先队列(priority_queue)实现哈夫曼编码问题
生活随笔
收集整理的這篇文章主要介紹了
贪心算法之用优先队列(priority_queue)实现哈夫曼编码问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、問題
參考我的博客:貪心算法之哈夫曼編碼問題
2、優先隊列知識復習
參考我的博客: C++之STL之priority_queue
3、代碼實現
#include <iostream> #include <queue>using namespace std;//最大字符編碼數組長度 #define MAXCODELEN 100 //最大哈夫曼節點結構體數組個數 #define MAXHAFF 100 //最大哈夫曼編碼結構體數組的個數 #define MAXCODE 100 #define MAXWEIGHT 10000;typedef struct Haffman {//權重int weight;//字符char ch;//父節點int parent;//左兒子節點int leftChild;//右兒子節點int rightChild;//下標int index; }HaffmaNode;struct cmp {bool operator() (HaffmaNode haffman1, HaffmaNode haffman2){return haffman1.weight > haffman2.weight;} };typedef struct Code {//字符的哈夫曼編碼的存儲int code[MAXCODELEN];//從哪個位置開始int sta總結
以上是生活随笔為你收集整理的贪心算法之用优先队列(priority_queue)实现哈夫曼编码问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux c之函数手册
- 下一篇: 分治算法之二分搜索