注意:哈夫曼树并不唯一,但带权路径长度一定是相同的。
- 二叉树:每个结点最多含有两个子树的树称为二叉树。
- 定理:对于具有n个叶子结点的哈夫曼树,共有2n-1个结点。
哈夫曼树介绍
1哈夫曼树的定义
哈夫曼(Huffman)树,又称最优二叉树,是由n个带权叶子结点构成的所有二叉树中带权路径长度最短的二叉树。给定n个数值{ W1,W2,...,Wn},若将它们作为n个结点的权,并以这n个结点为叶子结点构造一颗二叉树,那么就可以构造出多棵具有不同形态的二叉树,其中带权路径长度最短的那棵二叉树称为哈夫曼树,或称最优二叉树。如图(二)所示:
WPL:树中从根到所有叶子结点的各个带权路径长度之和
2 构建哈夫曼树的方法
如下: