- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.6.2 赫夫曼编码 电报需将传送的文字转换成由二进制的字符组成的字符串,如‘ABACCDA’设A、B、C、D编码分别为00、01、10、11则‘00010010101100’14位,对方接收时将其译码。在传送电文时,希望总长度尽可能的短,如A、B、C、D分别编码为0、00、1和01,则上述7个字符转换成总长为9位‘000011010’,但是这样的电文无法译码。‘0000’可有多种译法‘AAAA’或‘ABA’、‘BB’,设计时用前缀编码。 前缀编码:任一个字符的编码都不是另一个字符编码的前缀,可利用二叉树设计前缀编码。 设计电文总长最短的前缀编码,设每种字符在电文中出现的次数为wi编码长度为Li,有n种字符,电文总长ΣwiLi ( i=1…n) 对应二叉树上,若置wi为叶子结点的权,恰为WPL,即设计赫夫曼树,得到的前缀编码为赫夫曼编码,赫夫曼树中没有度为1的结点(严格的(正则的)二叉树),一棵有n个叶子结点的赫夫曼树共有2n-1个结点,可以存储在2n-1的一维数组中,另外需知道双亲。 表 6 – 1 指令的使用频率 指令 使用频率(Pi) I1 0.40 I2 0.30 I3 0.15 I4 0.05 I5 0.04 I6 0.03 I7 0.03 表 6 – 2 指令的变长编码 指令 使用频率(Pi) I1 0 I2 1 I3 00 I4 01 I5 000 I6 001 I7 010 图6.30 构造赫夫曼树示例 表 6 – 3 指令的赫夫曼编码 指令 使用频率(Pi) I1 0 I2 10 I3 110 I4 11100 I5 11101 I6 11110 I7 11111 可以验证,该编码是前缀编码。若一段程序有1000条指令, 其中I1大约有400条,I2大约有300条,I3大约有150条,I4大约有50条,I5大约有40条,I6大约有30条,I7大约有30条。对于定长编码,该段程序的总位数大约为3×1000=3000。采用赫夫曼编码后,该段程序的总位数大约为1×400+2×300+3×150+5×(50+40+30+30)=2200。可见,赫夫曼编码中虽然大部分编码的长度大于定长编码的长度3,却使得程序的总位数变小了。可以算出该赫夫曼编码的平均码长为: 举例:数据传送中的二进制编码。 要传送数据 state、seat、act、tea、cat、set、a、eat,如何使传送的长度最短? 首先规定二叉树的构造为左走0、右走1,如图6.31所示。 为了保证长度最短,先看字符出现的次数,然后将出现次数当作权,如图6.32所示。 图6.31 左走0、右走1的二叉树 图6.32 对字符按权排序 字符 s t a e c 字符出现的次数 3 8 7 5 2 图6.33 构造赫夫曼树的过程 按规定:0左1右, 则有 000 001 01 10 11 2 3 5 7 8 c s e a t 所以state的编码为00111101101,stat的编码为001111011。 构造满足赫夫曼编码的最短最优性质: (1) 若di≠dj(字母不同),则对应的树叶不同。因此前缀码(任一字符的编码都不是另一个字符编码)不同,一个路径不可能是其它路径的一部分,所以字母之间可以完全区别。 (2) 将所有字符变成二进制的赫夫曼编码,使带权路径长度最短,相当总的通路长度最短。 若要求传送以上这些编码长度不一的数据,且还要求传送词间互相区分,应如何设计最优编码呢?为保证传送词间互相区别,则需加入一空白字符出现频率,空白字符^出现为7,再构造赫夫曼树,由此得到的赫夫曼编码一定满足最短且又互相区分的性质。 c s e a ^ t 2 3 5 7 7 8 6.6.3 赫夫曼编码算法的实现 由于赫夫曼树中没有度为1的结点,则一棵有n个叶子的赫夫曼树共有2×n-1个结点,可以用一个大小为2×n-1 的一维数组存放赫夫曼树的各个结点。由于每个结点同时还包含其双亲信息和孩子结点的信息,所以构成一个静态三叉链
您可能关注的文档
- 第4课夏朝和商朝说课版.ppt
- 第4讲海外市场的现状及机遇35.ppt
- 第4讲金属材料01.ppt
- 第4课为民族独立而战课件.ppt
- 第4篇第2章楼地层、屋盖和阳台、雨篷.ppt
- 第4节生物的进化第2课时.ppt
- 第4课就英法联军远征中国给巴特勒上尉的信(人教版八年级上).ppt
- 第4讲群星璀璨的中低档有色宝石.ppt
- 第4讲:辛亥革命与帝制终结.ppt
- 第5次课WSN通信与组网技术01.ppt
- 华东师大版历史高一上册.3.8《古代罗马政治制度》课件(33张)(共33张PPT).ppt
- 四年级下数学课件-复式分段(青岛版).ppt
- 四年级上册数学课件 - 九、总复习 人教新课标(2014)(共58张PPT).ppt
- 华东师大版高中历史高一下册第6课《大一统中央集权国家的形成》优质课件(39张)(共39张PPT).ppt
- 四年级上册数学课件- 第四章1.三位数乘两位数笔算 人教新课标(2014秋) (共12张PPT).ppt
- 北师大版高中历史必修二6.18《罗斯福新政》课件(共27张PPT).ppt
- 提高ZrO_2-Y_2O_3(YSZ)材料离子电导率的研究进展.pdf
- 提高W18Cr4V钢齿轮冷挤压模使用寿命的试验研究.pdf
- 日照银行2026届校园招聘考试参考试题及答案解析.docx
- 2025广东南粤银行东莞分行招聘笔试备考题库及答案解析.docx
原创力文档


文档评论(0)