最优二叉树概念树的路径长度.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最优二叉树概念树的路径长度

学习目标 什么是信息论中的信息? 如何使用二进制编码进行表达信息? 如何计算编码的信息量? 为什么哈夫曼编码是最优编码? 如何使用二叉树进行编码设计? 常见的树结构的算法有哪些? 基于有序频率二叉树编码 1951年哈夫曼和他在MIT信息论课程的同学需要选择是完成学期报告还是期末考试; 导师Robert M. Fano给他们的学期报告的题目是,寻找最有效的二进制编码 最终发现了基于有序频率二叉树(也称为最优二叉树)编码的想法 最优二叉树概念 1.树的路径长度 从树根到树中每一节点的路径长度之和 2.树的带权路径长度(Weighted Path Length of Tree,WPL) 节点的权:在一些应用中,赋予树中节点的一个有某种意义的实数(例如编码值) 节点的带权路径长度:节点到树根之间的路径长度与该节点上权的乘积 最优二叉树概念 树的带权路径长度:定义为树中所有叶节点的带权路径长度之和,通常记为: 最优二叉树或哈夫曼树 在权为wl,w2,…,wn的n个叶子所构成的所有二叉树中,带权路径长度最小(即代价最小)的二叉树称为最优二叉树 构造Huffman树 l)将信号源的符号按照出现概率递减的顺序排列2)将最下面的两个最小出现概率进行合并相加,得到的结果作为新符号的出现概率 3)重复进行步骤1和2直到概率相加的结果等于1为止 4)在合并运算时,概率大的符号用编码0表示,概率小的符号用编码1表示 5)记录下概率为1处到当前信号源符号之间的0,l序列,从而得到每个符号的编码 例6-5:请编制哈夫曼编码 一串信号源S={Z, K, F, C, U, D, L, E}对应频率为p={2,7,24,32,37,42,42,120} 例6-5:请编制哈夫曼编码 E=0 U=100 D=101 L=110 C=1110 Z=111100 K=111101 F=11111 使用RAPTOR产生哈夫曼编码 1、编码的数据的准备:基本数据,通过文件(code_frequence.csv)输入给算法,并按以下字母、频率对的形式排列: “Z, 2,K, 7,F, 24,C, 32,U,37,D, 42,L,42,E, 120” 使用RAPTOR产生哈夫曼编码 2、主要数据结构: 使用binlist数组保存带权二叉树 哈夫曼编码main子图 主要子图和子程序 Init子图:binlist、asslist数组初始化,从文件读入编码需要的基本数据; Build_huffman_tree子图: 使用哈夫曼编码的原理,进行建立带权二叉树; Twochild子图:找出当前新建节点的两个子节点 Findmin子图:用于寻找当前asslist中保存的最小权重的节点; Incode子程序:用于带权二叉树建立完成后,进行各个原始码的二进制编码的编制; Output子图:用于最终的编码输出。 Init子图 Build_huffman_tree子图 Twochild子图 Findmin子图 Incode子程序 Output子图 编码结果 End of ch6-1 利用信息论进行编码分析(1) 计算英文字符(26字母加空格)为信息源的熵: 设所有字符等概率出现: H(X)=-∑p(x)log2p(x) {x∈X} = 27*{-1/27log21/27} = log227 =4.75 (bits/Letter) 利用信息论进行编码分析(2) 假设英文字符的概率分布如下表: 解:H(X)=-∑p(xi)log2p(xi) {i=1~27} ≈4.02 (bits/Letter) 说明:考虑英文字符和空格实际出现的概率后,英文信源的平均不确定性,比把字符和空格看作等概率的情况要小 利用熵求最优编码的问题 有一个池塘里,有时非常平静,有时有青蛙叫,有时有蛤蟆叫,有时青蛙和蛤蟆一起叫,池塘的声响状态服从以下分布: 请定时记录池塘的声响状态,并编码发送。如何编码,可以使编码最短? 池塘状态 平静 青蛙叫 蛤蟆叫 青蛙和蛤蟆叫 概率 0.5 0.125 0.125 0.25 利用熵求最优编码 定长编码,需要两个二进制位; 变长编码:给小概率消息较长的编码,给大小概率消息较短的编码; 因为,随机变量 X服从概率分布P时,如果消息x的分布密度为p(x),则给其分配一个长度为[-log2p(x)]个二进制位的编码 则发送一个消息平均需要-∑p(x)log2p(x)个二进制位 所以,有变长的编码规则如下: 利用熵求最优编码(3) 消息 编码 平静 0 青蛙叫 110 蛤蟆叫 111 青蛙和蛤蟆一起叫 10 编码的平均长度为: -∑p(x)log2p(x)=0.5*1+

文档评论(0)

sunshaoying + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档