概述:由相同权值的一组叶子结点所构成的二叉树可能有不同的形态和不同的带权路径长度,具有
最小带权路径长度的二叉树称为赫夫曼(Haffman)树。也称最优二叉树,它是n个带权叶子节点构成
的所有二叉树中,带权路径长度最小的二叉树。
节点的权:二叉树中的每个叶子节点经常对应一个有实际意义的数据,这个数据称为该节点的权。
带权路径长度(WPL):树中所有叶子节点的带权路径长度之和。在二叉树中,二叉树的路径长
度是指由根节点到所有叶子节点的路径长度之和。假设二叉树具有n个带权值的叶节点,那么从根节点
到各个叶子节点的路径长度与相应节点权值的乘积之和叫做二叉树的带权路径长度(weighted path
length)。
如上图所示:
(a)
WPL = 92+42+52+22 = 40
(b)
WPL = 91+52+43+23 = 37
(c)
WPL = 41+22+53+93 = 50
综上可知:二叉树的带权路径长度 WPL = 节点的权值乘以从根节点到当前节点所经过的节点数,也
可以看出,权值越大的节点离根节点越近的二叉树才是最优二叉树。