文章目录
这里附上Matlab源码的下载链接,里面还有运行结果asv文件和软件程序流程图png文件
https://download.csdn.net/download/h568630659/18523188?spm=1001.2014.3001.5501
一、背景介绍
1.哈夫曼树的定义与特点
哈夫曼(Huffman)编码是一种编码方式, 属于一种程序算法。是满足前缀条件的平均二进制码长最短的编-源输出符号,而将较短的编码码字分配给较大概率的信源输出。算法是:在信源符号集合中,首先将两个最小概率的信源输出合并为新的输出,其概率是两个相应输出符号概率之和。这一过程重复下去,直到只剩下一个合并输出为止,这个最后的合并输出符号的概率为1。这样就得到了一张树图,从树根开始,将编码符号1和0分配在同一节点的任意两分支上,这一分配过程重复直到树叶。从树根到树叶途经支路上的编码最后就构成了一组异前置码,就是哈夫曼编码输出。
设二叉树具有n个带权值的叶子结点,从根结点到各个叶子结点的路径长度与相应叶子结点权值的乘积之和记为:
,其中wk表