哈夫曼树及应用(1).docx
《哈夫曼树及应用(1).docx》由会员分享,可在线阅读,更多相关《哈夫曼树及应用(1).docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2.9.1 哈夫曼树及应用 哈夫曼树又称最优树(二叉树),是一类带权路径最短的树。构造这种树的算法最早是由哈夫曼(Huffman)1952年提出,这种树在信息检索中很有用。结点之间的路径长度:从一个结点到另一个结点之间的分支数目。树的路径长度:从树的根到树中每一个结点的路径长度之和。结点的带权路径长度:从该结点到树根之间的路径长度与结点上权的乘积。树的带权路径长度:树中所有叶子结点的带权路径长度之和,记作: WPL为最小的二叉树就称作最优二叉树或哈夫曼树。 完全二叉树不一定是最优二叉树。 哈夫曼树的构造:(1)根据给定的n个权值w1,w2,.,wn构造n棵二叉树的集合F=T1,T2,.,Tn,
2、其中Ti中只有一个权值为wi的根结点,左右子树为空;(2)在F中选取两棵根结点的权值为最小的数作为左、右子树以构造一棵新的二叉树,且置新的二叉树的根结点的权值为左、右子树上根结点的权值之和。(3)将新的二叉树加入到F中,删除原两棵根结点权值最小的树;(4)重复(2)和(3)直到F中只含一棵树为止,这棵树就是哈夫曼树。 例1:例2:结点的存储结构:构造哈夫曼树的算法说明:#define n /* 叶子总数 */#define m 2*n-1 /* 结点总数 */ 证:由性质3,叶子结点数 n0=n2+1,故哈夫曼树结点总数为 n0+n2=n0+(n0-1)=2*n0-1 例3 在解某些判定问题时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈夫曼树 应用
限制150内