- 1、本文档共82页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.5 求等价类过程实例(续) 集合S = {1, 2, 3, 4, 5, 6, 7, 8, 9} 等价关系集为{(1,2), (3,4), (5,6), (7,8), (1,3), (5,7), (1,9)} 1 2 3 4 5 6 7 8 9 3 4 2 1 9 6 5 7 8 6. 树的计数 6.1 二叉树的相似和等价 6.2 二叉树的计数 6.3 由前序序列和中序序列构造二叉树 6.4 普通树的计数 6.1 二叉树的相似和等价 两棵二叉树相似是指:它们或者为空树;或者均不为空树,且它们的左右子树分别相似。 两棵二叉树等价是指:它们不仅相似,而且对应点上的元素均相同。 6.2 二叉树的计数 b0 =1 b1 =1 b2 =2 b3 =5 b4 =14 6.2 二叉树的计数(续1) b(0) = 1 b(1) = 1 b(2) = 2 b(3) = 5 b(4) = 14 根据相似的递归定义得到: 结论: 6.2 二叉树的计数(续2) 思考题:给定结点总数n和二叉树“最左边” ( leftmost)结点的深度。求这样的二叉树共有多少棵? 6.3 由前序序列和中序序列构造二叉树 前序序列 {ABHFDECKG} 和中序序列 {HBDFAEKCG} HBDF EKCG A EKCG A B H DF EKCG A B H F D KCG E A B H F D E A B H F D C K G 固定前序序列,有几个中序序列就有几棵不同的二叉树 6.4 普通树的计数 普通树的计数可以借助于二叉树的计数实现 具有n+1个结点的普通树的数目和具有n个点的二叉树的数目相同 树和二叉树建立一一对应关系:把树进行左孩子-右兄弟存储表示,去掉根结点,就得到对应的二叉树;反之也容易实现 7. 霍夫曼树 7.1 赫夫曼树的相关定义 7.2 赫夫曼树的构造过程 7.3 赫夫曼树的构造过程举例 7.4 前缀编码 7.5 赫夫曼编码 7.6 赫夫曼解码 7.1 赫夫曼树的相关定义 A B C D E F G 路径长度 树的路径长度 树的带权路径长度WPL 最优二叉树(赫夫曼树) a b c d c a b d a b c d a 7 b 5 c 2 d 4 36 46 35 7.2 赫夫曼树的构造过程 (1) 由给定的n个权值 {w0, w1, w2, …, wn-1},构造具有n棵扩充二叉树的森林 F = { T0, T1, T2, …, Tn-1 },其中每棵扩充二叉树 Ti 只有一 个带权值 wi 的根结点, 其左、右子树均为空。 (2) 重复以下步骤, 直到 F 中仅剩下一棵树为止: ① 在F中选取两棵根结点的权值最小的扩充二叉树, 做为左、右子树构造一棵新的二叉树。置新的二叉树的根结点的权值为其左、右子树上根结点的权值之和。 ② 在 F 中删去这两棵二叉树。 ③ 把新的二叉树加入 F。 7.3 赫夫曼树的构造过程举例 F : {7} {5} {2} {4} F : {7} {5} {6} F : {7} {11} 7 5 2 4 初始 合并{2} {4} 7 5 2 4 6 F : {18} 11 7 5 2 4 6 合并{5} {6} 5 合并{7} {11} 2 7 4 6 11 18 7.3 赫夫曼树的构造过程举例(存储结构演示1) 5 2 7 4 Weight parent leftChild rightChild 7 -1 -1 -1 5 -1 -1 -1 2 -1 -1 -1 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 1 2 3 4 5 6 初态 7.3 赫夫曼树的构造过程举例(存储结构演示2) 5 2 7 4 6 Weight parent leftChild rightChild 7 -1 -1 -1 5 -1 -1 -1 2 -1 -1 -1 4 -1 -1 -1 6 -1
文档评论(0)