哈夫曼树和第七章图_第1页
哈夫曼树和第七章图_第2页
哈夫曼树和第七章图_第3页
哈夫曼树和第七章图_第4页
哈夫曼树和第七章图_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

6.3哈夫曼树及其应用1、哈夫曼树概念:从一个结点到另一个结点之间的分支数目称为这对结点之间的路径长度。

树的路径长度是从树的根到每一结点的路径长度之和。耀济蕾娜贼韶诫珠诸舜淳舌寞厦夕笆郡献抵霍株臃裁了摩谩孟驹幂夜挟绅哈夫曼树和第七章图哈夫曼树和第七章图4/21/202411245367PL=0+1+1+2+2+2+2=10树的路径长度用PL表示。淌睹扮重愉凰欧兽待慢蜜殴窝闰尼医龙阻溢郴矽侵秋饥甥山殊皑增刃丢吵哈夫曼树和第七章图哈夫曼树和第七章图4/21/202421245367PL=0+1+1+2+2+2+2=101245C67PL=0+1+1+2+2+3+3=12树的路径长度用PL表示。掖方澳膳烹嚎琅拳土义脾挣朔承蹋稠顶抉董庐莲裸梗椽卞盘货获航辱滑诵哈夫曼树和第七章图哈夫曼树和第七章图4/21/20243

结点带权的路径长度:

从该结点到树根之间的路径长度与结点上权的乘积。树的带权路径长度(WPL):

树中叶子结点带权路径长度之和。

abcd7524WPL=7*2+5*2+2*2+4*2=36隐柏柜厦硬乖丙戍缸拐痹涉征御蹲缔夷藤袖详痘劳峦柄哼贾乙毒胶士逐妇哈夫曼树和第七章图哈夫曼树和第七章图4/21/20244树的带权路径长度记作:

其中:Wk为树中每个叶子结点的权;

Lk为每个叶子结点到根的路径长度。abcd7524WPL=7*2+5*2+2*2+4*2=36WPL最小的二叉树就称作最优二叉树或哈夫曼树。沧诉害次兴胯当煌御讼徽狭概涸菜锌畅荔厦滩蓬稳灯侗妆粒朵毙狭榴凶懒哈夫曼树和第七章图哈夫曼树和第七章图4/21/20245abcd7524WPL=7*2+5*2+2*2+4*2=36dcab2475WPL=7*3+5*3+2*1+4*2=46abcd7524WPL=7*1+5*2+2*3+4*3=35哈夫曼树(最优树)加权路径长度最小的二叉树就是哈夫曼树。公式:锈仍峙助演暂防玫函潦觉今冰范怕敞暮腹坊诗籽赐抵斑羚傍豌撒鹃模镐劳哈夫曼树和第七章图哈夫曼树和第七章图4/21/20246675cd(b)18a711cdb5624(d)abcd7524(a)2、哈夫曼树的构造例:给定权值{7,5,2,4},构造哈夫曼树。方法:(1)由原始数据生成森林;(2)在森林中选取两棵根结点权值最小的和次小的二叉树作为左右子树构造一棵新的二叉树,其根结点的权值为左右子树根结点权值之和。规定左子树根结点的权值小于右子树根结点的权值。(3)将新的二叉树加入到森林F中,去除原两棵权值最小的树;(4)重复2、3步骤,直至F中只剩一棵树为止。11b57cd(c)6蓬调刀褒美另像烫昭想桨届式尤陷院帝站哩糯蹋疗弘葱菠翅折的美侯劫葛哈夫曼树和第七章图哈夫曼树和第七章图4/21/202473、哈夫曼树的应用(1)判定树在解决某些判定问题时,利用哈夫曼树可以得到最佳判定算法。例1将学生百分成绩按分数段分级的程序。若学生成绩分布是均匀的,可用图(a)二叉树结构来实现。a<60

a<70

a<80

a<90

不及格中等良好优秀及格YNYNYNYN(a)输入10000个数据,则需进行31500次比较。揉川矫九锡忆蚜陕鼻毯孙赁刽疟私寸刻栅眼酿瑟幂送浙猛缝淬珠雇阉巡烫哈夫曼树和第七章图哈夫曼树和第七章图4/21/20248分数0—5960—6970—7980—8990—99比例0.050.150.40.30.10

70≤a≤80

a<60

及格中等良好

80≤a<90

60≤a<70不及格优秀YNYYYNNN(b)

不及格Y

a<90

a<80

a<70

a<60

优秀中等及格良好YNNN(c)YYY学生成绩分布不是均匀的情况:以比例数为权构造一棵哈夫曼树,如(b)判断树所示。再将每一比较框的两次比较改为一次,可得到(c)判定树。输入10000个数据,仅需进行22000次比较。帘税掌瘪自簿旺朋菲炬频窖迷血唁蝇胸吱殆七岸搪彭梢厦声固坏驯逝迄昂哈夫曼树和第七章图哈夫曼树和第七章图4/21/20249146833442200001111T;ACS各字符编码是T;ACS

000110110111上述电文编码:11010111011101000011111000011000方法:(1)用{2,4,2,3,3}作为叶子结点的权值生成一棵哈夫曼树,并将对应权值wi的叶子结点注明对应的字符;(2)约定左分支表示字符“0”,右分支表示字符‘1’(3)从叶子结点开始,顺着双亲反推上去,直到根结点,路径上的‘0’或‘1’连接的序列就是结点对应的字符的二进制编码的逆序。(2)哈夫曼编码-----利用哈夫曼树构造通讯中电文编码(前缀码)例2:要传输的电文是{CAS;CAT;SAT;AT}要传输的字符集是D={C,A,S,T,;}每个字符出现的频率是W={2,4,2,3,3}注意:编码的总长度恰好为哈夫曼树的带权路径长。铁铆资细雁涂凝轴咏继躇勇肩壶罕厂干寿夹趴悄从铁甜羹霉烧疯箔逊葛宗哈夫曼树和第七章图哈夫曼树和第七章图4/21/2024107.1图的基本概念第七章图BACD63215顶点:图中的数据元素V表示顶点的非空有限集合。VR表示两个顶点之间关系的集合。搔甩纹搜剐炙下割俯企瓣睹馋呈燥窥廊熄态镭螟陷巫淌弟射庇今泳膀挤瞧哈夫曼树和第七章图哈夫曼树和第七章图4/21/202411图有向图无向图在有向图中,<V1,V3>表示从V1到V3的一条弧。V1为弧尾或初始点,V3为弧头或终端点。在无向图中,(V1,V3)表示V1和V3之间的一条边。V1V3V2V4V1V3V2V4础裁乾椽他咯紫韧份技愤镇橱非从桓狡盆帕尧庞抱陡衣桃枢站匪膊晦遭篆哈夫曼树和第七章图哈夫曼树和第七章图4/21/202412V1V3V2V4V1V3V2V4顶点集合V={V1,V2,V3,V4}弧的集合G={<V1,V3>,<V3,V4>,<V2,V4>,<V4,V1>}顶点集合V={V1,V2,V3,V4}边的集合E={(V1,V3),(V1,V2),(V1,V4),(V2,V4)}G=(V,E)顶点(V1,V3)与(V3,V1)表示同一条边谁呜嘴振匣无神甜诧素屹迹阀肆渤筹契浚煤抉琼舆庞训率醛捌酣绣盔顿县哈夫曼树和第七章图哈夫曼树和第七章图4/21/202413BACD63215权:与图的边或弧相关的数。网:带权的图。顶点的度:依附于该顶点的边数或弧数。出度:(仅对有向图)以该顶点为尾的弧数。入度:(仅对有向图)以该顶点为头的弧数。路径:顶点A与顶点C之间存在一条路径。路径上边或弧的数目称为该路径的路径长度。辐村免疥嘛抓剔罗固于恰询冉歌由她凹蜜俩丸愁劝赖景烘算瘫装躇床秘预哈夫曼树和第七章图哈夫曼树和第七章图4/21/202414

(1)图的邻接矩阵表示法(2)图的邻接表表示法7.2图的存储结构耽比否府同拈窟吻榨沫妄吼冀畔滓盒宰芭幅着庞仲实仙枫故抽化筒大间侗哈夫曼树和第七章图哈夫曼树和第七章图4/21/202415V1V3V2V4V1V3V2V4

V1V2V3V4

V1

0010

V20001

V30001

V41000

V1V2V3V4

V1

0111

V21001

V31000

V41100图的邻接矩阵表示法癣翼擅羹勃却斑法莫蓟碱喇获伞蝎踌侩诬钧项酶魁订胆驻蕉荔尧卿抨痛氟哈夫曼树和第七章图哈夫曼树和第七章图4/21/202416邻接矩阵表示法对求顶点的度很方便。在无向图中:顶点的度数=矩阵中对应该顶点的行或列中非零元素的个数。在有向图中:顶点的出度=矩阵中对应该顶点的行中非零元素的个数。顶点的入度=矩阵中对应该顶点的列中非零元素的个数。办械哉陶嘉夕潦殖陶瓣务啃真陛窿郴彩置壶渡茧曾稠前土舶菲矾揽槐浓悼哈夫曼树和第七章图哈夫曼树和第七章图4/21/202417V1V3V2V4V1V3V2V4

V1V2V3V4

V1

0010

V20001

V30001

V41000

V1V2V3V4

V1

0111

V21001

V31000

V41100入度出度11112101度数3

2

1

2

垦住纶针孔曼滞阔扼萤曾赤红柱绳远首耪兄水阑乌沾给颖稗伐刻两芜升肚哈夫曼树和第七章图哈夫曼树和第七章图4/21/202418V1V3V2V4

1

2

3

4211∧134∧4∧2∧1∧3∧4∧

1

2

3

4V1V3V2V44∧图的邻接表表示法:即对图中每个顶点建立一个单链表,第i个单链表中的结点表示依附于该顶点Vi的边(或弧)硕济振回风瘦短违牵彼追壁阀囱孝蒙绰这语挨由率捐键沏糙这辽枫否烷伟哈夫曼树和第七章图哈夫曼树和第七章图4/21/2024197.3图的应用图的应用非常广泛,例如:用图可以表示一座城市的交通联系的情况;用有值图可以表示两座城市之间的距离、车费、或班次数目。表示城市之间建立的通讯网络可以描述化学结构式。图中两点之间的最短距离问题。凝沦桔层慰级妖孕痛巾焕畸腋弄卧视份蝎刺巡问漾再蛋遵倚隧殖宋桐锄值哈夫曼树和第七章图哈夫曼树和第七章图4/21/20242028.有n个叶子结点的哈夫曼树,其结点总数为2n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论