二叉查找树 红黑树 2-3-4树 定义

二叉查找树:

1. 对于树中的每一个节点,如果它有左子数,则左子树中所有节点的值不大于该节点值;如果它有右子树,则有子树中所有节点的值不小于该节点的值。
根据这个性质,可以证明二叉搜索树具有执行查找、插入、删除等操作的时间复杂度为O(lgn)的特点。
    而且可以证明,一棵由n个结点,随机构造的二叉查找树的高度为lgn,所以顺理成章,一般操作的执行时间为O(lgn)。
    //至于n个结点的二叉树高度为lgn的证明,可参考算法导论 第12章 二叉查找树 第12.4节。
2. 但若是一棵具有n个结点的线性链,则此些操作最坏情况运行时间为O(n)

一般的,红黑树,满足以下性质,即只有满足以下全部性质的树,我们才称之为红黑树:

1)每个结点要么是红的,要么是黑的。
2)根结点是黑的。
3)每个叶结点(
叶结点即指树尾端NIL指针或NULL结点(与平时说的叶结点不同!))是黑的。
4)如果一个结点是红的,那么它的俩个儿子都是黑的。
5)对于任一结点而言,其到叶结点树尾端NIL指针的每一条路径都包含相同数目的黑结点。


树的左旋:


左旋以pivot到y之间的链为“支轴”进行,它使y成为该孩子树新的根,而y的左孩子b则成为pivot的右孩子。

2.右旋


2-3-4树:

 2-3-4 树在计算机科学中是阶为 B树。根据维基百科上的介绍:大体上同B树一样,2-3-4 树是可以用做字典的一种自平衡数据结构。它可以在Olog n)时间内查找、插入和删除,这里的 是树中元素的数目。2-3-4 树在多数编程语言中实现起来相对困难,因为在树上的操作涉及大量的特殊情况。红黑树实现起来更简单一些,所以可以用它来替代(红黑树稍后介绍)。以下就是一棵2-3-4树:


插入操作:待插入的结点是3时,把中间结点上移,分裂


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值