在准备软考的过程中遇到哈夫曼树题型,有些遗忘,顺便用这些例题恢复一下记忆。
1、哈夫曼树也称最优二叉树,在实际中有着广泛的应用。
叶子节点的权值
叶子结点的权值是对叶子结点赋予的一个有意义的数值量。
二叉树的带权路径长度
设二叉树具有N个带权值的叶子结点,从根结点到各个叶子结点的路径长度与相应叶子结点权值的乘积之和叫做二叉树的带权路径长度:WPL=w1l1+w2l2+…+wklk
其中wk为第K个叶子结点的权值;lk为从根节点到第k个叶子结点的路径长度。
如下图的二叉树,其带权路径长度为:WPL:2×2+4×2+5×2+3×2=28
再举个栗子:
该哈夫曼树的带权路径长度为:
WPL=2×2+5×2+3×2+4×3+5×3=37
哈夫曼算法的基本思想:
1.初始化: 根据给定的n个权值{w1,w2,…wn}构成n棵二叉树的集合F={T1,T2,…,Tn},其中每棵二