最优二叉树是一种带权路径最小的树
1)树的路径长度:
上图的8的路径长度为3,14的路径长度为1,…….
2)树的带权路径
树的带权路径=叶子结点的路径长度X权值(上图树的带权路径为1x1+8x3+4x3+2x2=41)
3)构造哈夫曼树
方法:
第一步:以这8个结点作为根结点的权值构造具有8棵树的森林;
第二步:从这些根结点中选最小的两个结点构成一棵二叉树,把5和3组合一起得一个新结点;
第三步:重复第二步的操作(若有相同结点,选哪一个都是一样的,两者等同),直到森林中只有一棵树为止;
第四步:
第五步:
第六步:
第七步:
4)哈夫曼编码:定义一个规则,左边为0,右边为1,那么23的哈夫曼编码为00,11的哈夫曼编码010,3的哈夫曼编码0110,其他依此类推。
5)叶子结点数=度为2的结点数+1