哈夫曼树,即带权路径最小的二叉树,又称为最优二叉树。
哈夫曼算法描述如下:
1)用给定的一组权值{W1,W2,……,Wn},生成一个有n棵树组成的森林F={T1,T2,……Tn},其中每棵二叉树Ti只有一个节点,即权值为Wi的根节点(也是叶子)
2)从F中选择两棵节点权值最小的树,作为新树根的左、右子树(左小右大),新树根的权值是左右子树根节点权值之和
3)从F中删除这两棵树,另将新二叉树加入F中
4)重复2)和3),直到F中只包含一棵树为止
规定哈夫曼树的左分支代表0,右分支代表1,则从根节点到到叶子节点所经过的路径组成的0和1的序列,便成为该节点对应字符的编码,即哈夫曼编码。
本文介绍哈夫曼树的基本概念,详细解释了如何通过一组权值构建哈夫曼树,并介绍了哈夫曼编码的生成过程。哈夫曼树是一种特殊的二叉树,能够实现最优的数据压缩效果。
9073

被折叠的 条评论
为什么被折叠?



