南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)红黑树

红黑树 一种重要的平衡二叉搜索树实现方法 陶先平
红黑树 一种重要的平衡二叉搜索树实现方法 陶先平

平衡二叉搜索树 我们有没有简单的方法得到一棵相对“平衡的”二叉搜索树? 哪些因素可能会导致二叉搜索树的不平衡?
平衡二叉搜索树 哪些因素可能会导致二叉搜索树的不平衡? 我们有没有简单的方法得到一棵相对“平衡的”二叉搜索树?

平衡二叉树的本质含义: ·当以节点n为根时,若定义Lson(n)为n的左子树,定义Rson(n)为n 的右子树,当该树满足以下条件时,称该树为平衡二叉树: IH(Lson(n)》-H(Rson(n)川<=1,其中H(m)指以m为根的树的高度,m=nil 时H(m)=0 ·因此,维护平衡性只要做到: ·判断哪个子树“超”高了 ·记录高度 ·通过旋转降低高度
平衡二叉树的本质含义: • 当以节点n为根时,若定义Lson(n)为n的左子树,定义Rson(n)为n 的右子树,当该树满足以下条件时,称该树为平衡二叉树: |H(Lson(n))-H(Rson(n))|<=1,其中H(m)指以m为根的树的高度,m=nil 时H(m)=0 • 因此,维护平衡性只要做到: • 判断哪个子树“超”高了 • 记录高度 • 通过旋转降低高度

左/右旋转的同时保持二叉搜索性质 LEFT-ROTATE(T.x) 051111111111111i11n RIGHT-ROTATE(T,y) B B Y 以左转为例,新树平衡了吗?
左/右旋转的同时保持二叉搜索性质 以左转为例,新树平衡了吗?

新树平衡了 50 50 25 15 15 5
50 15 10 25 20 30 40 25 40 15 10 30 50 20 新树平衡了

新树仍然不平衡 50 50 25 15
50 15 10 25 20 40 17 25 15 40 10 50 20 17 新树仍然不平衡

这个问题有多严重呢? B E G G G X V X 四种基本模型:有且仅有
这个问题有多严重呢? A F B C G D E A F B C G D E A F B C G D E A F B C G D E X √ √ X 四种基本模型:有且仅有

所以,问题的焦点在于以下结构 F和G存在一个或者两个同时存在,一次旋转已经解决不了问题
所以,问题的焦点在于以下结构 A F B C G D E F和G存在一个或者两个同时存在,一次旋转已经解决不了问题 A F B C G E D

所以,问题的焦点在于以下结构 D E 通过两次旋转! 以A的右子树根为中心,右旋:未加剧高差! 以A为中心,左旋,平衡!
所以,问题的焦点在于以下结构 A F B C G D E 通过两次旋转! F A B C G E D A E B D G F C 以A的右子树根为中心,右旋:未加剧高差! 以A为中心,左旋,平衡!

两次旋转得到新平衡树 50 50 50 平衡 非平衡 非平衡 15 15 20 25 25
50 15 10 25 20 40 17 两次旋转得到新平衡树 非平衡 50 15 10 20 25 40 17 非平衡 50 15 10 20 25 17 40 平衡
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)搜索树.pptx
- 南京大学:《计算机问题求解》课程教学资源(课件讲稿)Hashing方法.pdf
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)B树.pptx
- 南京大学:《计算机问题求解》课程教学资源(课件讲稿)堆的结构、实现以及算法应用 Heap & HeapSort.pdf
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)基本数据结构.pptx
- 南京大学:《计算机问题求解》课程教学资源(课件讲稿)排序与选择算法 sorting and selection(简版).pdf
- 南京大学:《计算机问题求解》课程教学资源(课件讲稿)排序与选择算法 sorting and selection.pdf
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)离散概率基础.pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)概率分析与随机算法.pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)算法方法.pptx
- 南京大学:《计算机问题求解》课程教学资源(课件讲稿)递归及其数学基础 linear-recurrences(简版).pdf
- 南京大学:《计算机问题求解》课程教学资源(课件讲稿)递归及其数学基础 linear-recurrences.pdf
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)递归及其数学基础(part-1).pptx
- 南京大学:《计算机问题求解》课程教学资源(课件讲稿)组合与计数 Counting(简版).pdf
- 南京大学:《计算机问题求解》课程教学资源(课件讲稿)组合与计数 Counting.pdf
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)算法的正确性.pptx
- 南京大学:《计算机问题求解》课程教学资源(课件讲稿)算法的效率 Efficiency(简版).pdf
- 南京大学:《计算机问题求解》课程教学资源(课件讲稿)算法的效率 Efficiency.pdf
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)分治法与递归.pptx
- 《计算机问题求解》课程教学资源(参考书籍)Proofs from THE BOOK(Fifth Edition,Martin Aigner · Günter M. Ziegler).pdf
- 《计算机问题求解》课程参考书籍教材:《Introduction to Algorithms》PDF电子版(Third Edition,Thomas H. Cormen、Charles E. Leiserson、Ronald L. Rivest、Clifford Stein).pdf
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)动态规划.pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)红黑树.pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)图的基本概念.pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)摊还分析.pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)贪心算法.pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)树.pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)用于动态等价关系的数据结构.pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)单源最短路径算法.pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)图的计算机表示以及遍历.pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)多源最短路径算法.pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)图中的匹配与覆盖.pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)图的连通度.pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)旅行问题.pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)最大流算法(一).pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)平面图与图着色.pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)最大流算法(二).pptx
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)矩阵计算.pptx
- 《计算机问题求解》课程参考书籍教材:Abstract Algebra - Theory and Applications(Thomas W. Judson).pdf
- 南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)数论基础.pptx