红黑树时间复杂度证明(O(lgn))
通过“数学归纳法”对红黑树的时间复杂度O(lgn)进行证明
红黑树的时间复杂度为O(lgn),当且仅当"节点数为n的一棵红黑树的高度满足O(lgn)的要求"
证明如下:![](/assets/blank.gif)
图片内容截取自博客:http://www.cnblogs.com/skywang12345/p/3245399.html
下面通过数学归纳法,证明高度为h的红黑树,其包含的内节点个数至少为2^(bh(x)) -1
- 当 h = 0:
内节点个数为0,bh(x) = 0,原命题显然成立 - 当 h > 0,且树的高度为h-1,其黑色高度至少为bh(x) - 1,所以该树包含的内节点个数至少为2^(bh(x)-1) -1.
- 当h > 0,且树的高度为h时,
对于节点X的左右子树,其黑色高度为bh(x)或者bh(x) - 1
根据(2)已知:X的左右子树,即为高度h-1的节点,其包含的内节点至少为2^(bh(x)-1) -1。
因此:节点X包含的节点数至少为:2*(2^(bh(x)-1) -1) + 1 = 2^(bh(x)) -1
所以原命题成立,证毕
红黑树时间复杂度证明(O(lgn))相关推荐
- 红黑树时间复杂度为什么是O(logn)?
一.红黑树性质 结点必须是红色或者黑色. 根节点必须是黑色. 叶节点(NIL)必须是黑色(NIL节点无数据,是空节点). 如果一个节点是红色的,则它的子节点必须是黑色的. 从任一节点出发到其每个叶子节 ...
- 红黑树的性质以及时间复杂度证明
很久就想写一篇红黑树的博客,一直没有倒出时间,今天想稍微的总结下红黑树,但是并不想介绍如何的进行插入删除,以及怎么进行旋转,变色,本编文章主要讲解红黑树的时间复杂度的证明,要想证明红黑树的时间复杂度, ...
- 《算法导论3rd第十三章》红黑树
前言 红黑树是一种较为"平衡的"二叉查找树.它能保证最坏的情况下其基本操作时间为O(lgn). 红黑树的性质 红黑树 是一种二叉查找树,但在每个结点上增加了一个存储位表示结点的颜色 ...
- 红黑树的时间复杂度分析
一.红黑树的基本属性. 红黑树的每个结点,要么是黑色,要么是红色. 根结点(root)一定是黑色. 所有红色结点不可以直接相连. 也即是,如果一个结点为红色,那么,它的爸爸或儿子,一定就是黑色,不可是 ...
- 红黑树相关定理及其证明
红黑树有一条性质要求:如果一个节点为红色的,则它的两个子节点都是黑色.这保证了:从根到叶节点(不包括根节点)的任何一条路径上都至少有一半的节点是黑色的.(红黑树的性质还要求:对每一个节点,从该节点到其 ...
- 【题集】AVL树、伸展树、红黑树、二叉查找树、替罪羊树的时间复杂度
目录 1. AVL树 2.伸展树 3.红黑树 4.二叉查找树 5.替罪羊树 1. AVL树 AVL树是最先发明的自平衡二叉查找树.在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平 ...
- 红黑树高度上限(2lg(n+1)证明.
UTF8gbsn 红黑树介绍 红黑树是一颗二叉树,并满足以下属性. 每一个节点要么红色要么黑色. 根节点是黑色. 所有叶子节点NIL是黑色. 红色节点的左右孩子必定是黑色节点. 从任何一个节点出发,并 ...
- AVL树、splay树(伸展树)和红黑树比较
AVL树.splay树(伸展树)和红黑树比较 一.AVL树: 优点:查找.插入和删除,最坏复杂度均为O(logN).实现操作简单 如过是随机插入或者删除,其理论上可以得到O(logN)的复杂度,但是实 ...
- 红黑树(一)之 原理和算法详细介绍---转帖
目录 1 红黑树的介绍 2 红黑树的应用 3 红黑树的时间复杂度和相关证明 4 红黑树的基本操作(一) 左旋和右旋 5 红黑树的基本操作(二) 添加 6 红黑树的基本操作(三) 删除 作者:Sky W ...
- Java数据结构与算法:红黑树
概要 概述:R-B Tree,又称为"红黑树".本文参考了<算法导论>中红黑树相关知识,加之自己的理解,然后以图文的形式对红黑树进行说明.本文的主要内容包括:红黑树的特 ...
最新文章
- Shell函数:Shell函数返回值、删除函数、在终端调用函数
- html插音乐怎么设置样式,是否可以设置html5音频标签的样式?
- meta标签的常见用法
- python import 路径设置
- C语言学习笔记--数组参数和指针参数
- python为什么会出现无响应怎么办_python定时检测无响应进程并重启的实例代码
- 缩写月份单词python_一月到十二月份的英语单词和缩写形式
- android常用快捷键大全,AndroidStudio 快捷键使用总结大全
- java包是什么意思_java中的“包”到底是什么意思?
- 有了它,将大大丰富VR内容,3D VR摄像机Vuze VR开启预定
- 微信小程序学习笔记3
- (十一)IPSec协议
- pixhawk RC信号传输流程 代码版本pixhawk1.5.5
- 谷歌浏览器拓展及脚本安装入门简介
- Git(5) SourceTree安装使用
- HTML 练习案例旅游网站首页
- 多门店共享无人自助洗车系统小程序开发
- 华为矿鸿操作系统横空出世,煤矿智能化开启新篇章
- 硬件vendor id查询对照列表
- strchr函数的使用