树 离散数学 技术方案.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文档。上传文档
查看更多
树 离散数学 技术方案.ppt

第9章 树 9.1 无向树及生成树 9.2 根树及其应用 根树 最优 2元树 在所有有t片树叶, 带权w1, w2, …, wt 的 2元树中, 权最小的2元树。 Huffman算法--求最优树的算法 在m元正则树中,其树叶数为t, 分支点数为s,则 (m - 1)s = t -1 Huffman算法的推广算法 求一棵带权为1,2,3,4,5,6,7的最优3元树 W(T)=(1+2+3) ×2+(4+5+6) ×2+7×1=49 1 2 3 4 5 6 7 这是三元正则树 求一棵带权为1,2,3,4,5,6,7,8的最优3元树 W(T)=(1+2+3)×3+(7+8)×2+ (4+5+6) ×2+=78 1 2 3 4 5 6 7 8 这不是三元正则树 ? Huffman算法的推广算法 求一棵带权为1,2,3,4,5,6,7,8的最优3元树 W(T)=(1+2)×3+(3+4)×2+(5+6+7)×2+ 8×1 =67 3 4 5 6 7 1 2 这不是三元正则树 8 Huffman算法的推广算法 二元树的应用1 二元树可以表示任何一棵有序根树 方法如下: ①从根结点开始,保留父亲和最左边儿子的连线,取消和其他儿子的连线,兄弟之间用从左到右的有向边连接。 二元树的应用1 二元树可以表示任何一棵有序根树 方法如下: ②选定二叉树的左儿子和右儿子如下:处于给定结点下方的结点作为该结点的左儿子,同一水平线上与给定结点右邻的结点作为该结点的右儿子。 二元树的应用2 在通信中常用二进制串表示英文字母。最少用多少位二进制数就能表示26个英文字母呢? 用定长二进制数表示英文字母: 因为16=24 26 32=25,所以要用5位表示。 用不定长二进制数表示英文字母: 若规定,可用1bit表示英文字母,也可用2 bit表示英文字母。若1位和两位不足以表示26个英文字母,可用3 bit。再不够,用4 bit。 至少需要多少位二进制数?设需要 i 位二进制数,于是,下列的不等式成立: 26 ≤ 21+22+…+2i = 2i+1–2 解之,得i ≥4 故用长度不超过4位的二进制数足以表示26个英文字母。 二元树的应用2 在英文中有些字母使用频率较高,另一些字母使用频率较低。 为了减少通信中传递的信息量,人们希望用位数较少的二进制数表示频繁使用的字符,用位数较多的二进制数表示不常使用的字符。 这样就会大大缩短信息串的总长度。但是也产生了一个问题。接收者如何将0、1组成的长串,准确无误地分割成字母对应的0、1序列呢? 例如:若用00表示e,用01表示t,用0001表示q。当接收员接收到0001时,就无法区分这是et,还是q。为了解决这个问题,引入前缀码的概念。 二元树的应用3——前缀码 设? =?1?2…?n-1?n是长度为n的符号串 ?的前缀: ?1?2…?k , k=1,2,…,n-1 前缀码: {?1, ?2, …, ?m}, 其中?1, ?2, …, ?m为非空字符串, 且任何两个互不为前缀。 2元前缀码: 只出现两个符号(如0与1)的前缀码。 如 {0,10,110, 1111}, {10,01,001,110}是2元前缀码。 {0,10,010, 1010} 不是前缀码。 前缀码 一棵2元树产生一个二元前缀码: 对每个分支点, 若关联2条边, 则给左边标0, 右边标1; 若只关联1条边, 则可以给它标0(看作左边), 也可以标1(看作右边). 将从树根到每一片树叶的通路上标的数字组成的字符串记在树叶处, 所得的字符串构成一个前缀码. 右图的树叶都互为前缀码 求图示的二元树产生的前缀码 解:在图中每一个分枝点引出的左侧边标记0,右侧边标记1。 由根结点到树叶的路经上各边的标记组成的0、1序列作为对应树叶的标记,得右图。 产生的前缀码为?01,11,000,0010,0011? 0 1 0 0 0 1 1 1 1 由任意一个前缀码求对应一个二元树 设?1,01,000?是一前缀码,画出对应一个二元树 解:画出一个高为3的正则二元树,给各边标记0或1,每一个结点对应一个0、1序列,如果某个0、1序列是前缀码的元素,则标记该结点。 将已标记结点的所有后代和该结点的射出边全部删除,再删除未加标记的树叶,得到要求的二元树。 最佳前缀码 例 在通信中,设八进制数字出现的频率如

文档评论(0)

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

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

1亿VIP精品文档

相关文档