二叉查找树
二叉查找树是一颗二叉树,并且每个节点x的左子树中所有节点都不大于x,节点x的右子树中所有节点都不小于x
对一颗高度为h的二叉查找树,动态集合操作SEARCH、MINIMUM、MAXIMUM、SUCCESSOR和PREDECESSOR的运行时间均为O(h)
二叉查找树的INSERT操作为从root开始下降,根据大小比较决定左转还是右转,最后递归找到插入的地方
二叉查找树的DELETE操作分三种:1,x没有子女,则将父节点指向NIL;2,x有一个子女,则建立子女和父节点的链;3,x有两个子女,则先删除x的后继y,再用y来替代x
对高度为h的二叉查找树,动态集合操作INSERT和DELETE的运行时间为O(h)
红黑树
二叉查找树的SEARCH性能很好,但是当INSERT和DELETE操作之后很难保证高度的平衡,所以红黑树是一种改进
红黑树是一种自平衡二叉查找树,通过给每个节点着色来保证树的高度平均高度一致:
1)每个节点或者是红的或者是黑的
2)根节点是黑的
3)每个叶节点是黑的
4)红节点的两个儿子都是黑的
5)对每个节点,从该节点到其子孙节点的所有路径上包含相同数目的黑节点
可以用数学归纳法证明一颗有n个内节点的红黑树的高度至多为2lg(n+1)
所以红黑树的INSERT、DELETE、SEARCH等动态集合操作的运行时间为O(lgn)
分享到:
相关推荐
C / C ++中的数据结构和算法 该代码由Amit Bansal在学习...插入删除中预定遍历顺序遍历后遍历级别顺序遍历查找二叉搜索树的高度检查树是否为二叉搜索树(2种方法) 在二分搜索树中查找最大和最小元素 AVL树 插入b。删除
CLRS英文第二版 .
clrs-notes-solutions, 算法导论,第3版,学习笔记,习题答案
大名鼎鼎的 CLRS Algorithm Introduction 算法导论 课后大部分的题目解答
算法导论 CLRS Mit Press - Introduction To Algorithms 2Nd Edition Incl Exercises Edition.chm
指《算法导论》(Introduction to Algorithms)。 由Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest,Clifford Stein编写,MIT出版的一本介绍、分析当代计算机...用四位作者姓的首字母组成的CLRS代表此书。
算法导论 CLRS 英文第三版 算法导论 CLRS 英文第三版
CLRS Problems 15-5 的解法
MIT算法分析教材CLRS的教师手册,内有课程精讲及习题答案
算法导论CLRS 英文第3版 pdf 是算法方面的经典著作
笔记本摘要我基础1算法在计算中的作用2入门3功能成长4分而治之5概率分析和随机算法II排序和订单统计6堆排序7快速排序8线性时间排序9中位数和订单统计III数据结构10种基本数据结构11哈希表12个二叉搜索树13棵红黑树14...
CLRS(Introduction.to.Algorithms.Second.Edition)
algorithms from CLRS "Introduction to Algorithms 3rd" implementation in C++ templates. 《算法导论》第三版 C++泛型实现
算法导论的习题解答和教师手册(解答)Solutions for CLRS
CLRS-Solutions, "Introduction to Algorithm, 3rd Edition" 解决方案 解决方案介绍,3rd 版"下载最新解决方案?下载在这里网页上可用的 。还提供了上一个版本。:如何编译它?$ git clone git@github....
一个个人帮助页面,用于准备数据结构和算法,重点是CLRS书籍... /src目录是添加各种算法的实现的位置。 该README.md文件用于列出数据结构和算法,而不一定来自本书。 快速浏览 目录 Sl。 话题 1。 :check_box_...
算法导论出第三版了~ 高清英文版 有目录的PDF
CLRS in C++
算法導論第三版习题答案
CLRS算法導論習題C++源代碼解答 實現 CLRS 偽代碼 適合面試刷題工程師複習的好資料 數據結構&算法實現 題型分類 堆 優先隊列 快速排序 基數排序 計數排序 第 K 次發現 (py) 和 (c++) 分而治之 唐葉 樹/高級 BST 彩...