为编码而生,最小路权树:哈夫曼树
要解决的问题:
有时候编码字符时,每个字符编码的长度不一样,为了节省空间,肯定是频率越高的字符编码长度越短。
哈夫曼树是输入字符频率,输出编码的字符长度和编码序列。
算法:
总体来说,是将输入的频率作为结点值,然后构建一棵树,这棵树的叶子结点是频率结点(因为编码不能有重复覆盖现象,所以只能存在于叶子结点上)。
编码方法:找两个最小的合成树,树的根节点为两者和,然后将根节点的值加入,继续合成,最后合成的大树就是哈夫曼树。
示例过程:

哈夫曼树,很神奇吧!
编码过程如图所示

浙公网安备 33010602011771号