- 1、本文档共89页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Chapter 6Tree Binary Tree 树的基本术语 性质2 深度为 k 的二叉树至多有 2 k-1个结点,其中k ? 1。 证明:由性质1可见,深度为k的二叉树的最大结点数为 层次遍历(Levelorder Traversal) 从上到下,从左到右 遍历结果 - +/a* e f b -cd 二叉树的重建 由二叉树的前序序列和中序序列可以唯一地确定一棵二叉树 由二叉树的后序序列和中序序列可以唯一地确定一棵二叉树 由二叉树的前序序列和后序序列不可唯一地确定一棵二叉树 前序序列{ A B H F D E C K G } 中序序列{ H B D F A E K C G } 二叉树应用事例 int main(void) { BinTreeNodeint *cur; int c; cur = new BinTreeNodeint(2); BinaryTreeint bt(cur); // 建立二叉树 c = 3; bt.InsertLeftChild(cur, c); // 插入左孩子 cur = bt.LeftChild(cur); c = 4; bt.InsertRightChild(cur, c); // 插入右孩子 cur = bt.GetRoot(); // 取出根结点 c = 6; bt.InsertRightChild(cur, c); // 插入右孩子 return 0; } 6.7 哈 夫 曼 树 (Huffman Tree) 与哈 夫 曼 编 码 A B C D E F G H I J K 先根遍历 A B E F C D G H I J K 后根遍历 E F B C I J K H G D A 层次遍历: A B C D E F G H I J K B C D E F G H I J K 1.森林中第一棵树的根结点 2.森林中第一棵树的子树森林 3.森林中其它树构成的森林 森林由三部分构成 森林的先根遍历 若森林F为空, 返回 否则: ?访问F的第一棵树的根结点 ?先根次序遍历第一棵树的子树森林 ?先根次序遍历其它树组成的森林 结果:B E F C D G H I J K B H I F C D E G J K 森林的后根遍历 若森林F为空,返回 否则: ?后根次序遍历第一棵树的子树森林 ?访问F的第一棵树的根结点 ?后根次序遍历其它树组成的森林 结果:E F B C I J K H G D B H I F C D E G J K 森林的层次遍历 若森林F为空,返回 否则: ?依次遍历各棵树的根结点 ?依次遍历各棵树根结点的所有子女 ?依次遍历这些子女结点的子女结点? 结果:B C D E F G H I J K B H I F C D E G J K 森林与二叉树的相互转换 结点的路径长度 从根结点到该结点的路径上分 支的数目 树的路径长度 树中每个结点的路径长度之和 树的带权路径长度 (Weighted Path Length,WPL) 树的各叶子结点所带的权值与 该结点到根的路径长度的乘积 的和 结点的带权路径长度 从该结点到到根结点之间的路 径长度与结点上权的乘积。 在所有含n个叶子结点、并带有各自权值的m叉树中,必存在一棵其带权路径长度取最小值的树,称为“最优树”, 或“哈夫曼树” (Huffman Tree) 哈夫曼树中,权值大的结点离根最近 具有不同带权路径长度的二叉树 2 7 5 4 9 WPL(a)= 7?2+5?2+2?3+4?3+9?2=60 WPL(b)= 7?4+9?4+5?3+4?2+2?1=89 7 9 2 5 4 根据给定的 n 个权值 {w1, w2, …, wn},造 n 棵二叉树的
文档评论(0)