哈夫曼树的应用—哈夫曼编码
1.哈夫曼编码是一种可以被唯一解读的二进制编码 2.前缀编码保证了解码时不会有多种可能 3.哈夫曼编码有不等长和等长两种编码,为了保证不等长编码的唯一性,使用前缀编码 4.频率低的采用短编码,频率高的采用长编码。
出现次数多的靠近根节点,出现次数少的远离根节点,这样可以得到最小的带权路径长度,这样是最节省空间的
哈夫曼编码方案:从叶子到根逆向求每个字符的哈夫曼编码
第三个参数是所要求的哈夫曼编码的个数,要求几个字母的哈夫曼编码就传入几
哈夫曼编码生成
代码语言:javascript复制//哈夫曼树 存放哈夫曼编码的指针数组 输入节点个数
void huffmanCode(HtnNode*& huffTree,char**& huffCode,int n)
{
//定义工作空间,存放临时编码串
char* temp=new char[n];
temp[n - 1] = '