结点的权及带权路径长度: 若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。 从根结点到该结点之间的路径长度与该结点的权的乘积称为结点的带权路径长度。 树的带权路径长度( Weighted Path Length ,WPL):树的各叶结点所带的权值 wi 与该结点到根的路径长度 li 的乘积的和。 Huffman树——带权路径长度达到最小的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。 例 有4个结点,权值分别为7,5,2,4,构造有4个叶子结点 的二叉树 a b c d 7 5 2 4 WPL=7*2+5*2+2*2+4*2=36 d c a b 2 4 7 5 WPL=7*3+5*3+2*1+4*2=46 a b c d 7 5 2 4 WPL=7*1+5*2+2*3+4*3=35 对于已知的一组叶子的权值W1,W2,…,Wn: 构造Huffman树的方法——Huffman算法 构造Huffman树步骤 以权值分别为W1,W2...,Wn的n个结点,构成n棵二叉树T1,T2,...,Tn并组成森林F={T1,T2,...Tn},其中每棵二叉树 Ti仅有一个权值为 Wi的根结点; 在F中选取两棵根结点权值最小的树作为左右子树构造一棵新二叉树,并且置新二叉树根结点权值为左右子树上根结点的权值之和(根结点的权值=左右孩子权值之和,
原创力文档

文档评论(0)