第7章 查找《数据结构(C语言版)》.ppt

想预览更多内容,点击预览全文

申明敬告:

本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己完全接受本站规则且自行承担所有风险,本站不退款、不进行额外附加服务;如果您已付费下载过本站文档,您可以点击这里二次下载

文档介绍

* 北京林业大学信息学院 {10, 18, 3, 8, 12, 2, 7} 10 10 18 10 18 3 10 18 3 8 10 18 3 8 12 10 18 3 8 12 2 10 18 3 8 12 2 7 从空树出发,经过一系列的查找、插入操作之后,可生成一棵二叉排序树 二叉排序树的操作-生成 * 北京林业大学信息学院 不同插入次序的序列生成不同形态的二叉排序树 40 24 55 12 37 12 24 37 40 55 40,24,12,37,55 12,24,37,40,55 二叉排序树的操作-生成 * 北京林业大学信息学院 二叉排序树的操作-删除 将因删除结点而断开的二叉链表重新链接起来 防止重新链接后树的高度增加 * 北京林业大学信息学院 * 北京林业大学信息学院 删除叶结点,只需将其双亲结点指向它的指针清零,再释放它即可。 被删结点缺右子树,可以拿它的左子女结点顶替它的位置,再释放它。 被删结点缺左子树,可以拿它的右子女结点顶替它的位置,再释放它。 被删结点左、右子树都存在,可以在它的右子树中寻找中序下的第一个结点(关键码最小),用它的值填补到被删结点中,再来处理这个结点的删除问题。 * 北京林业大学信息学院 第i层结点需比较i次。在等概率的前提下,上述两图的平均查找长度为: 40 24 55 12 37 12 24 37 40 55 查找的性能分析 * 北京林业大学信息学院 平均查找长度和二叉树的形态有关,即, 最好:log2n(形态匀称,与二分查找的判定树相似) 最坏: (n+1)/2(单支树) 查找的性能分析 40 24 55 12 37 12 24 37 40 55 * 北京林业大学信息学院 问题:如何提高二叉排序树的查找效率? 尽量让二叉树的形状均衡 左、右子树是平衡二叉树; 所有结点的左、右子树深度之差的绝对值≤ 1 平衡二叉树 平衡因子

最近下载