哈夫曼树是一种带权路径长度最短的二叉树,也称为最优二叉树。
带权路径长度(WPL): 设二叉树有n个叶子结点,每个叶子结点带
有权值 wk,从根结点到每个叶子结点的长度为 lk,则每个叶子结
点的带权路径长度之和就是: WPL =
如何计算带权路径长度?
根节点记为第0层,带权路径长度= sum(层数*结点权重)
如何构造哈夫曼树:https://blog.csdn.net/hd12370/article/details/82877211
哈夫曼树的特点:
- 没有度为1的结点;
- 哈夫曼树的任意非叶节点的左右子树交换后仍是哈夫曼树;
- n个叶子结点的哈夫曼树共有2n-1个结点:
n2 = n0 - 1 ,其中 n0 : 叶结点总数 ,n1 :只有一个儿子的叶结点总数, n2 :有2个儿子的结点总数
同一组权值,如{1,2,3,3},可以得到不同构的两颗哈夫曼树。