红黑树大白话详解
来源:互联网 发布:js特效比较好的网站 编辑:程序博客网 时间:2024/06/17 19:14
由于csdn博客的排版实在是太过麻烦,调来调去的也不好看,故使用线下已经排好的截图来发表
前言:
红黑树是在二叉搜索树的基础上添加了对颜色的处理,故如对二叉树不熟悉的可以先了解上一篇对二叉树的介绍http://blog.csdn.net/a_zhenzhen/article/details/78829892
设红黑树的高为h,则树的黑高最小为h/2; n为红黑树的结点数,则
n >= 2^(h/2)-1
即 n + 1 >= 2^(h/2) -------> lg(n+1)>=h/2 即 h<= 2lg(n+1)
左旋与右旋
左旋伪代码
右旋伪代码
红黑树需要满足的性质
- 每个结点或是红色的,或是黑色的
- 根结点是黑色的
- 每个叶子结点(NIL)都是黑色的
- 如果一个结点是红色的,则它的两个子结点都是黑色的。
- 对每个结点,从该结点到其所有后代叶结点的简单路径上,均包含相同数目的黑色结点。
红黑树确保没有一条路径会比其他路径长出2倍,因而是近似于平衡的
红黑树的插入
红黑树插入的伪代码
红黑树的删除
红黑树删除的伪代码
红黑树修复的伪代码
阅读全文
1 0
- 红黑树大白话详解
- 大白话
- Spark API 详解/大白话解释 之 RDD、partition、count、collect
- Spark API 详解/大白话解释 之 reduce、reduceByKey
- Spark API 详解/大白话解释 之 groupBy、groupByKey
- Spark API 详解/大白话解释 之 groupBy、groupByKey
- Spark API 详解/大白话解释 之 reduce、reduceByKey
- Scrum大白话
- GCD大白话
- NSNotification大白话
- rest ( 大白话 )
- Winograd大白话
- restful 大白话
- Spark API 详解/大白话解释 之 map、mapPartitions、mapValues、mapWith、flatMap、flatMapWith、flatMapValues
- Spark API 详解/大白话解释 之 map、mapPartitions、mapValues、mapWith、flatMap、flatMapWith、flatMapValues
- 大白话讲中国经济
- “高斯白噪声”之大白话
- 大白话讲解ROC曲线
- spingAop——小白入门运用例子
- CSS居中的各种实现方式
- fastjson解析json数组/js文件
- [LeetCode]313. Super Ugly Number
- win7x64下的redis安装与使用
- 红黑树大白话详解
- redis数据库配置
- GeneratorConfig的配置
- 阅读日记
- 数据结构--线性表之StaticList类
- b2b b2c o2o javaweb 电子商务微服务云平台
- Hive 批量数据迁移
- 很多人眼中的SEO?仅仅是推广?发文章?
- 基于LBSN数据的推荐系统研究与实现