路径:从树中一个结点到另一个结点之间的分支构成这两个结点间的路径。
结点的路径长度:两个结点之间路径上的分支数。
树的路径长度:从树根到每一个结点的路径长度之和,记作TL。
结点数相同的二叉树中,完全二叉树是路径长度最短的二叉树。
权(Weight):将树中结点赋给一个有着某种含义的数值,则对这个数值称为该结点的权。
结点的带权路径长度:从根结点到该结点之间的路径长度与该结点的权的乘积。
树的带权路径长度:树中所有叶子结点的带权路径长度之和,记作:。
例如:有4个结点a,b,c,d,权值分别为7,5,2,4。构造以此4个结点为叶子结点的二叉树。
哈夫曼树:最优树,带权路径长度(WPL)最短的树。
“带权路径长度最短”是在“度相同”的树中比较而得来的结果,因此有最优二叉树、最优三叉树等等。
哈夫曼树:最优二叉树,带权路径长度(WPL)最短的二叉树。
因为构造这种树的算法是由哈夫曼教授于1952年提出的,所以被称为哈夫曼树,相应的算法称为哈夫曼算法。
哈夫曼树实例:
满二叉树不一定是哈夫曼树。
哈夫曼树中权越大的叶子离根越近,具有相同带权结点的哈夫曼树不唯一。