哈夫曼树及应用.docx
《哈夫曼树及应用.docx》由会员分享,可在线阅读,更多相关《哈夫曼树及应用.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2. 9. 1哈夫曼树及应用哈夫曼树又称最优树(二叉树),是一类带权路径最短的树。构造这种树的算法最早是 由哈夫曼(Huffman) 1952年提出,这种树在信息检索中很有用。结点之间的路径长度:从一个结点到另一个结点之间的分支数目。树的路径长度:从树的根到树中每一个结点的路径长度之和。(3) PL=0+l+2+2+3+4+5=17(3) PL=0+l+2+2+3+4+5=17(3) PL=0+l+2+2+3+4+5=17(b) PL=0+1+1+2*4+3=13结点的带权路径长度:从该结点到树根之间的路径长度与结点上权的乘积。 树的带权路径长度:树中所有叶子结点的带权路径长度之和,记作:WP
2、L为最小的二叉树就称作最优二叉树或哈夫曼树。WPL=7*3+5*3+2*1+4*2=46WPL=7+2+5*2+2*2+4+2=36WPL=7*1+5*2+2*3+4*3=35完全二叉树不一定是最优二叉树。哈夫曼树的构造:(1)根据给定的。个权值稹小,川构造11棵二叉树的集合F二T,T,.,T ,其中Ti中只有一个权值为W1的根结点,左右子树为空;(2)在F中选取两棵根结点的权值为最小的数作为左、右子树以构造一棵新的二叉树,且 置新的二叉树的根结点的权值为左、右子树上根结点的权值之和。(3)将新的二叉树加入到F中,删除原两棵根结点权值最小的树;(4)例1:(4)例1:重复(2)和(3)直到F中
3、只含一棵树为止,这棵树就是哈夫曼树。7524CD0(a)例2: O 0,4030.10,10.40.30.10.10,020.08(a )初始集合F(c) C和D合并(切日和尸合并(e) B与E、F、C、D的合并0.40.3E和F与C和D合并图12.16哈夫曼树的构造过程结点的存储结构:1childdata 结点值weight 权指rchildparent构造哈夫曼树的算法说明:define n/*叶子总数*/(a)(a)(a)define m 2*nT /* 结点总数 */证:由性质3,叶子结点数n=n+1,故哈夫曼树结点总数为n+n=n+(n T)=2*n T0202000例3在解某些判定
4、问题时,利用哈夫曼树获得最佳判定算法。学生成绩分布情况(a)分数段0-5960-6970-7980-8990-100比例0. 050.150. 400. 300.10分级EDCBA设有10000名学生,则需比较的次数为:比较10000次,分离出60分以下学生500名,剩9500人 比较9500次,分离出60-69分学生1500名,剩8000人 比较8000次,分离出70-79分学生4000名,剩4000人比较比较比较4000 次,分离出80-89分学生3000名.剩1000名90-100学生共比较:31500次WPL=0.05*1+0. 15*2+0. 4*3+0. 3*4+0. 1*4=3.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈夫曼树 应用
限制150内