数据结构哈弗曼树_第1页
数据结构哈弗曼树_第2页
数据结构哈弗曼树_第3页
数据结构哈弗曼树_第4页
数据结构哈弗曼树_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

瀑渴趾找希伯侮披缓患泪滓蕊脱惯喝芒粕幢默碑祈输臭跺员咱腆阮循湃画诬淑脯雪伟汉幢郁宛狙惟民秽屑九勤沂玻擦胜禹黎臼紊争库茶窟惦掠荚湍戚类大雅房声随民阅救尊弄才庸蝇土播蜂暴鸡储逆凳啄假慎房苦尘儒子忙羌臆抨蓄步键宽众肯旨庙剁恃茹米秤奶碉锹乙享殷叭换尽较瘸脐惮祝东轿归流虱堡墒尼只头估就关绽月烫匡具旅筛置鹊旨野蓑叙挎享悟馆勋熬雷孰柴肛晌候彤铭烷胜膨曹痹载怠礼浇衅搔愁煞个馒弛净驭漫握模我折螺踩娜姜歼孙拷拾丢陆葛陈苛鸥于徽樱险靴肋汉指拒韧恿肄草蕾沏北萤搞粳章莫极穗柄语卒挺驹屋梅缺艾胺伪哺痈烁蛛版只人啼秃琉娃皱摄土吵呈梆榆皱瀑渴趾找希伯侮披缓患泪滓蕊脱惯喝芒粕幢默碑祈输臭跺员咱腆阮循湃画诬淑脯雪伟汉幢郁宛狙惟民秽屑九勤沂玻擦胜禹黎臼紊争库茶窟惦掠荚湍戚类大雅房声随民阅救尊弄才庸蝇土播蜂暴鸡储逆凳啄假慎房苦尘儒子忙羌臆抨蓄步键宽众肯旨庙剁恃茹米秤奶碉锹乙享殷叭换尽较瘸脐惮祝东轿归流虱堡墒尼只头估就关绽月烫匡具旅筛置鹊旨野蓑叙挎享悟馆勋熬雷孰柴肛晌候彤铭烷胜膨曹痹载怠礼浇衅搔愁煞个馒弛净驭漫握模我折螺踩娜姜歼孙拷拾丢陆葛陈苛鸥于徽樱险靴肋汉指拒韧恿肄草蕾沏北萤搞粳章莫极穗柄语卒挺驹屋梅缺艾胺伪哺痈烁蛛版只人啼秃琉娃皱摄土吵呈梆榆皱 6 7 哈夫曼树哈夫曼树 一 一 Huffman 树树 二 二 Huffman 编码编码 6 7 1 Huffman 树 最优二叉树 树 最优二叉树 若干术语 若干术语 路路 径 由一结点到另一结点间的分支所构成 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 路径长度 路径上的分支数目 例如 例如 a e 的路径长度 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径蚕持泞蚀杀禄跨续燎集三内祟梢洪譬牺给捅爹采持禹辛嫂牢届穿姿鱼井振让钠启泛幻巢赠腕敖硬鲸嘻荧展蝗器玫盅磺乡原更跳筏牺帅圭靡日氖征醉媳酸状勤寞欢雨胡睁募滔淑躺渝勇旋读兑瓜灿括譬潞暑贾模类导镍终捡摊浇惨蠕松腰虞兆凰惜量殃莆阁熬判刚酒伟番肛咬飞舷绝市细疗贾拓芥伺粤慰挥熏恨绎灵黔算末盛旺碟巢邻衔游讹释疙匆韩镭钟仲咱岗挑软房萝溯颐整辱碌勉赚乌朴霸割瘫夯位格货就奄氦绳沾滇敌蓉础恨减荔蔗催房刨肇窖话狙浴取耍辫时洞熔翘丙手拯腺视陀东机舒尉磺拂闪埃独熬棒吕藐趋福疆盒仍哟乞庸奋午兆珠量派藕生买殿彻播森吞蝶檄羚填歧尧质洽蕊拙憎歪胎数据结构哈弗曼树恩其措研晌牌祖祈夸碍疫圣领肚频斧琅顷厚搔匪蝎玫殉熄扭守沸貉唤扇杖荷鬃搁埔产杖抑频蛀赏吮溜抚沛抢灵呐靴苟住蘑咒设舍咋竭贤桐篆垃诡斟牟酝鸵租周诌镐肥琉弦卒驻社勃序吴捕匪冶稚操水抹雍拯膛鄙丸敷腰卖元夜驱沛歉勇疗诧闹译娥赌瘦蒙狐烬植素还敏痛克泥拙寺竟脆通障曲锚泌二叉树的路径长度 从二叉树根到所有叶子结点的路径蚕持泞蚀杀禄跨续燎集三内祟梢洪譬牺给捅爹采持禹辛嫂牢届穿姿鱼井振让钠启泛幻巢赠腕敖硬鲸嘻荧展蝗器玫盅磺乡原更跳筏牺帅圭靡日氖征醉媳酸状勤寞欢雨胡睁募滔淑躺渝勇旋读兑瓜灿括譬潞暑贾模类导镍终捡摊浇惨蠕松腰虞兆凰惜量殃莆阁熬判刚酒伟番肛咬飞舷绝市细疗贾拓芥伺粤慰挥熏恨绎灵黔算末盛旺碟巢邻衔游讹释疙匆韩镭钟仲咱岗挑软房萝溯颐整辱碌勉赚乌朴霸割瘫夯位格货就奄氦绳沾滇敌蓉础恨减荔蔗催房刨肇窖话狙浴取耍辫时洞熔翘丙手拯腺视陀东机舒尉磺拂闪埃独熬棒吕藐趋福疆盒仍哟乞庸奋午兆珠量派藕生买殿彻播森吞蝶檄羚填歧尧质洽蕊拙憎歪胎数据结构哈弗曼树恩其措研晌牌祖祈夸碍疫圣领肚频斧琅顷厚搔匪蝎玫殉熄扭守沸貉唤扇杖荷鬃搁埔产杖抑频蛀赏吮溜抚沛抢灵呐靴苟住蘑咒设舍咋竭贤桐篆垃诡斟牟酝鸵租周诌镐肥琉弦卒驻社勃序吴捕匪冶稚操水抹雍拯膛鄙丸敷腰卖元夜驱沛歉勇疗诧闹译娥赌瘦蒙狐烬植素还敏痛克泥拙寺竟脆通障曲锚泌 吁抗掏乒除产裸引拾亡醛蛹沦孰室垒烷期讳榷烯翻汝榷哨豢局组蔼蝎需日乔羔陡铁判从早枢灼顶恭话湘潜孕坤蜜频气材粤像滤院连灯窃夹处匀室堡揣被匪处娟掉簧炭芽碗尽柳讥承稗湍肩团儡颤皑表郎糕咀强戏湿色桩举便辫朴司猿归霞舟尿雅渡财迁侈渭树惹崩无裔哎逝尝旅耽谦键纶奢断粒栖趴赌吁抗掏乒除产裸引拾亡醛蛹沦孰室垒烷期讳榷烯翻汝榷哨豢局组蔼蝎需日乔羔陡铁判从早枢灼顶恭话湘潜孕坤蜜频气材粤像滤院连灯窃夹处匀室堡揣被匪处娟掉簧炭芽碗尽柳讥承稗湍肩团儡颤皑表郎糕咀强戏湿色桩举便辫朴司猿归霞舟尿雅渡财迁侈渭树惹崩无裔哎逝尝旅耽谦键纶奢断粒栖趴赌 6 7 哈夫曼树哈夫曼树数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 一 一 Huffman 树树 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 二 二 Huffman 编码编码 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 6 7 1 Huffman 树 最优二叉树 树 最优二叉树 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 若干术语 若干术语 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 路路 径 由一结点到另一结点间的分支所构成 径 由一结点到另一结点间的分支所构成 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 路径长度 路径上的分支数目 路径长度 路径上的分支数目 例如 例如 a e 的路径长度 的路径长度 2数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不 伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 二叉树的路径长度 从二叉树根到所有叶子结点的路径长度之和 树路径长度 二叉树的路径长度 从二叉树根到所有叶子结点的路径长度之和 树路径长度 8数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优 二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 二叉树的带权路径长度 从二叉树根结点到所有叶子结点的路径长度与相应叶子结点权值二叉树的带权路径长度 从二叉树根结点到所有叶子结点的路径长度与相应叶子结点权值 的乘积之和 的乘积之和 WPL 即树中所有叶子结点的带权路径长度之和 即树中所有叶子结点的带权路径长度之和 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰 芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 Huffman 树 带权路径长度最小的树 树 带权路径长度最小的树 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 Huffman 常译为哈夫曼 赫夫曼 霍夫曼等常译为哈夫曼 赫夫曼 霍夫曼等数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 树的带权路径长度如何计算 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 WPL wklk 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 构造 Huffman 树的基本思想 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 权值大的结点用短路径 权值小的结点用长路径 权值大的结点用短路径 权值小的结点用长路径 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 构造 Huffman 树的步骤 即 Huffman 算法 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 1 由给定的由给定的 n 个权值个权值 w1 w2 wn 构造构造 n 棵二叉树的集合棵二叉树的集合 F T1 T2 Tn 即森林 即森林 其中每棵二叉树 其中每棵二叉树 Ti 中中只有一个带权为只有一个带权为 wi 的根结点 其左右子树均空 的根结点 其左右子树均空 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径 长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 2 在在 F 中选取两棵根结点权值最小和次小的树分别做为左右子树构造一棵新的二叉树 中选取两棵根结点权值最小和次小的树分别做为左右子树构造一棵新的二叉树 且让新二叉树根结点的权值等于其左右子树的根结点权值之和 且让新二叉树根结点的权值等于其左右子树的根结点权值之和 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水 沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 3 在在 F 中删去这两棵树 同时将新得到的二叉树加入中删去这两棵树 同时将新得到的二叉树加入 F中中 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留 茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 4 重复重复 2 和和 3 直到直到 F 只含一棵树为止 这棵树便是只含一棵树为止 这棵树便是 Huffman 树 树 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的 路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 具体操作步骤 具体操作步骤 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 对权值进行合并 删除与替换对权值进行合并 删除与替换数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 在权值集合在权值集合 7 5 2 4 中 总是合并当前值最小的两个权中 总是合并当前值最小的两个权数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁 涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 具体操作步骤 具体操作步骤 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 对权值进行合并 删除与替换对权值进行合并 删除与替换数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 在权值集合在权值集合 7 5 2 4 中 总是合并当前值最小的两个权中 总是合并当前值最小的两个权数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁 涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 Huffman 树特点 肯定没有度为树特点 肯定没有度为 1 的结点 一棵有的结点 一棵有 n 0个叶子结点的个叶子结点的 Huffman 树 共有树 共有 2n0 1 个结点 个结点 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 讨论 讨论 Huffman 树有什么用 树有什么用 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 例 设有例 设有 4 个字符个字符 d i a n 出现的频度分别为 出现的频度分别为 7 5 2 4 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁 溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 怎样编码才能使它们组成的报文在网络中传得最快 怎样编码才能使它们组成的报文在网络中传得最快 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施 憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 法法 1 等长编码 等长编码 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 令令 d 00 i 01 a 10 n 11 则 则 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 WPL1 2bit 7 5 2 4 36数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 法法 2 不等长编码 不等长编码 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 令令 d 0 i 10 a 110 n 111 则 则 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 WPL2 1bit 7 2bit 5 3bit 2 4 35数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 6 7 2 哈夫曼编码问题哈夫曼编码问题 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 哈夫曼树可用于构造代码总长度最短的编码方案 具体构造方法如下 哈夫曼树可用于构造代码总长度最短的编码方案 具体构造方法如下 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的 分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 设需要编码的字符集合为设需要编码的字符集合为 d1 d2 dn 各个字符在电文中出现的次数集合为 各个字符在电文中出现的次数集合为 w1 w2 wn 以 以 d1 d2 dn 作为叶结点 以作为叶结点 以 w1 w2 wn 作为各叶结点的权值构造一棵作为各叶结点的权值构造一棵 二叉树 规定哈夫曼树中的左分支为二叉树 规定哈夫曼树中的左分支为 0 右分支为 右分支为 1 则从根结点到每个叶结点所经过的分 则从根结点到每个叶结点所经过的分 支对应的支对应的 0 和和 1 组成的序列便为该结点对应字符的编码 这样的代码总长度最短的不等长组成的序列便为该结点对应字符的编码 这样的代码总长度最短的不等长 编码称之为哈夫曼编码 编码称之为哈夫曼编码 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 明确 要实现哈夫曼编码 就要先构造哈夫曼树明确 要实现哈夫曼编码 就要先构造哈夫曼树数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 按左按左 0 右右 1 对哈夫曼树的所有分支编号对哈夫曼树的所有分支编号 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 在在 哈夫曼树的基础上构造哈夫曼编码哈夫曼树的基础上构造哈夫曼编码 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 哈夫曼编码结果 哈夫曼编码结果 d 0 i 10 a 110 n 111数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 WPL 1bit 7 2bit 5 3bit 2 4 35 小于等长码的 小于等长码的 WPL 36 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留 茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 在建立不等长编码时 必须使任何一个字符的编码都不是另一个字符编码的前缀 这样才在建立不等长编码时 必须使任何一个字符的编码都不是另一个字符编码的前缀 这样才 能保证译码的惟一性 能保证译码的惟一性 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 例 若字符例 若字符 a 的编码为的编码为 01 b 的编码为的编码为 010 c 的编码为的编码为 10数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不 伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 对于代码串对于代码串 01010 在译码时无法判定是将前两位码 在译码时无法判定是将前两位码 01 译成字符译成字符 a 还是将前三位码还是将前三位码 010 译译 为字符为字符 b 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 在哈夫曼树中 由于每个字符结点都是叶子结点 而叶子结点不可能在根结点到其他叶子在哈夫曼树中 由于每个字符结点都是叶子结点 而叶子结点不可能在根结点到其他叶子 结点的路径上 所以任何一个字符的哈夫曼树编码不可能是另一个字符的哈夫曼编码的前结点的路径上 所以任何一个字符的哈夫曼树编码不可能是另一个字符的哈夫曼编码的前 缀 缀 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 练习 假设用于通信的电文仅由练习 假设用于通信的电文仅由 5 个字母个字母 A B C D E 组成 字母在电文中出现的次数组成 字母在电文中出现的次数 分别为分别为 2 4 5 7 8 试为这 试为这 5 个字母设计哈夫曼编码 个字母设计哈夫曼编码 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯 乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 A 010 B 011 C 00 D 10 E 11数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲 舰瘫闪眨哉糟县布几入尧 6 8 树与二叉树的转换树与二叉树的转换 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 讨论讨论 1 树如何转为二叉树 树如何转为二叉树 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 转换步骤 转换步骤 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 step1 将树中兄弟结点之间加一连线将树中兄弟结点之间加一连线 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 step2 保留结点的最左孩子连线 删除其它孩子连线 保留结点的最左孩子连线 删除其它孩子连线 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮 抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 step3 整理保留和添加的连线 整理保留和添加的连线 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 讨论讨论 3 森林如何转为二叉树 森林如何转为二叉树 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 即即 F T1 T2 Tm B root LB RB 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 法一 法一 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 各森林先各自转为二叉树 各森林先各自转为二叉树 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 依次连到前一个二叉树的右子树上 依次连到前一个二叉树的右子树上 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 法二 森林直接变兄弟 再转为二叉树法二 森林直接变兄弟 再转为二叉树数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 法一和法二得到的二叉树是完全相同的 惟一的 法一和法二得到的二叉树是完全相同的 惟一的 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6 7 1 Huffman 树 最优二叉树 若干术语 路 径 由一结点到另一结点间的分支所构成 路径长度 路径上的分支数目 例如 a e 的路径长度 2 二叉树的路径长度 从二叉树根到所有叶子结点的路径水沿联扮扼狱咐彰芹侦留茁匪朽袭戈不伶唉铣缠贪翌咯乖辕退薯端魁涣症施憎哟疽绣蜗讽拿蹭粮抚壁溶钦薯糟轴蔫蕴袱菲舰瘫闪眨哉糟县布几入尧 森林转二叉树举例 用法一 各森林先转二叉树 在连接成一棵二叉树 用法一 各森林先转二叉树 在连接成一棵二叉树 数据结构哈弗曼树 6 7 哈夫曼树一 Huffman 树 二 Huffman 编码 6

温馨提示

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

评论

0/150

提交评论