- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
lecture24(金根树及其应用)
信息科学技术学院 * 离散数学 Lecture 25 主讲:陈义明 信息科学技术学院 */22 信息科学技术学院 有向树 如果一个有向图在不考虑边的方向时是一棵树,那么,这个图称为有向树。 */22 信息科学技术学院 学习内容 1 根树及其分类 2 最优树与哈夫曼算法 3 最佳前缀码 */22 信息科学技术学院 学习目标 理解根树及其相关概念。 掌握最优树的定义及哈夫曼算法。 掌握最佳前缀码的定义及求法。 */22 信息科学技术学院 根树的定义 根树: 有一个顶点入度为0, 其余的入度均为1的非平凡的有向树。 树根: 有向树中入度为0的顶点 树叶: 有向树中入度为1, 出度为0的顶点 内点: 有向树中入度为1, 出度大于0的顶点 分支点: 树根与内点的总称 */22 信息科学技术学院 根树的定义 顶点v的层数: 从树根到v的通路长度,记作 l(?) 树高: 有向树中顶点的最大层数。记作h(?) */22 信息科学技术学院 实例 右图中 a是树根 b,e,f,h,i是树叶 c,d,g是内点 a,c,d,g是分支点 a为0层;1层有b,c; 2层有d,e,f; 3层有g,h; 4层有i. 树高为4 */22 信息科学技术学院 家族树 设v为根树的一个顶点且不是树根, 称v及其所有后代的导出子图为以v为根的根子树。 将根树每一层上的顶点规定次序后称作有序树。 把根树看作一棵家族树: 若顶点a邻接到顶点b, 则称b是a的儿子, a是b的父亲。 若b和c为同一个顶点的儿子, 则称b和c是兄弟。 若a?b且a可达b, 则称a是b的祖先, b是a的后代。 */22 信息科学技术学院 根树的分类 r元树:根树的每个分支点至多有r个儿子 r元正则树: 根树的每个分支点恰有r个儿子 r元完全正则树: 所有树叶层数相同的r元正则树 r元有序树: 有序的r元树 r元正则有序树: 有序的r元正则树 r元完全正则有序树: 有序的r元完全正则树 */22 信息科学技术学院 最优2元树 定义7.10 设2元树T有t片树叶v1, v2, …, vt, 树叶的权分别为 w1, w2, …, wt, 称 为T的权, 记作W(T), 其中 l(vi)是vi的层数. 在所有有t片树叶, 带权w1, w2, …, wt 的 2元 树中, 权最小的2元树称为最优2元树。 例如 1 3 4 5 6 1 3 4 5 6 1 3 4 5 6 W(T1)=47 W(T2)=54 W(T3)=43 */22 信息科学技术学院 求最优2元树的算法 哈夫曼(Huffman)算法 给定实数w1, w2, …, wt ① 作t片树叶, 分别以w1, w2, …, wt为权 ② 在所有入度为0的顶点(不一定是树叶)中选出两个权最小的顶点, 添加一个新分支点, 以这2个顶点为儿子, 其权等于这2个儿子的权之和 ③ 重复②, 直到只有1个入度为0 的顶点为止 W(T)等于所有分支点的权之和。 */22 信息科学技术学院 实例 例1 求以1,3,4,5,6为权的最优2元树, 并计算它的权 解 1 3 4 (a) 1 3 4 4 8 (b) 1 3 4 4 5 6 8 11 (c) 1 3 4 4 5 6 8 11 19 (d) W(T)=4+8+11+19=42 */22 信息科学技术学院 实例 */22 信息科学技术学院 通信编码 从编码通信的过程来看,编码要满足什么要求? 使总编码串最短。 要能正确地译码。 设{H,E,L,O}使用编码{ 0, 10, 010, 1010 }即 H=0, E=10, L=010, O=1010,则HELLO=0100100101010,能否正确译码? */22 信息科学技术学院 最佳前缀码 定义7.11 设?=?1?2…?n-1?n是长度为n的符号串, ?1?2…?k 称作?的长度为k的前缀, k=1,2,…,n?1. 若非空字符串?1, ?2, …, ?m中任何两个互不为前缀, 则称 {?1, ?2, …, ?m}为前缀码 只出现两个符号(如0与1)的前缀码称作2元前缀码 例如 { 0, 10, 110, 1111 }, { 10, 01, 001, 110 }是2元前缀码 { 0, 10, 010, 1010 } 不是前缀码 */22 信息科学技术学院 用2元树产生2元前缀码的方法 对每个分支点, 若关联2条边, 则给左边标0, 右边标1; 若只 关联1条边, 则可以给它标0(看作左边), 也可以标1(看作右 边). 将从树根到每一片树叶的通路上标的数字组成的字 符串记在树叶处, 所得的字符串构成一
文档评论(0)