一、概念:
含有N个带权叶子结点的二叉树中,其中带权路径长度(WPL)最小的二叉树,也称为最优二叉树。
- 什么是权:树中结点相关的数值
- 什么是路径长度:从树中某个结点到另外一个结点的分支数目(经过的边数)
- 什么是带权路径长度(WPL):从树的根结点到任意结点的路径长度(经过的边数)与该结点上权值的乘积之和
带权路径长度公式:
Wi是第i个叶子结点所带的权值,li是叶子结点到根结点的路径长度。
WPL=5 * 1+15 * 2+40 * 3+30 * 4+10 * 4=315
二、如何设计哈弗曼树:
- 将这N个结点分别作为N棵仅含一个结点的二叉树,构成森林F。
- 构成一个新结点,并从F中选取两棵根结点权值最小的树作为新结点左、右子树,并且将新结点的权值置为左、右子树根结点的权值之和。