Advertisement

数据结构-哈夫曼树建立编码及打印

阅读量:

对输入的英文大写字母进行概率统计,并基于此生成哈夫曼树,最终输出的Huffman编码需按照概率从高到低的顺序排列。

复制代码
    #include <iostream>
    #include <queue>
    #include <cstring>
    #include <vector>
    #include <cstdio>
    #include <algorithm>
    using namespace std;
    
    class Node
    {
    public:
    int freq;
    char val;
    Node *left,*right;
    Node(): freq(0), val('0'), left(NULL), right(NULL) {}
    };
    
    struct Cmp
    {
    bool operator() (const Node * a, const Node * b) const
    {
        return  a->freq > b->freq;
    }
    };
    priority_queue<Node*, vector<Node*>, Cmp> myQueue;
    struct PrintNode
    {

全部评论 (0)

还没有任何评论哟~