二叉查找树性质“:
1、遍历一棵含有n个节点的二叉查找树所需时间为Θ(n)(包括中序、前序、后续)
2、对一棵高度为h的二叉查找树,动态操作集合操作search、miniMum、maxiMum、successor和predecessor、insert、delete的运行时间均为Θ(n)
3、一棵在n个关键字上随机构造的二叉查找树的期望高度为O(lgn)
红黑树定义:
1、每个结点要么是红的,要么是黑的
2、根结点是黑的
3、每个叶结点,即空节点是黑的
4、如果一个结点是红的,则它的两个儿子是黑的
5、对每个结点,从该结点到其子算结点的所有路径上包含相同数目的黑结点。
红黑树性质:
1、一棵有n个内结点的红黑树的高度至多为2lg(n+1)
2、RB-insert总共花费为O(lgn)时间,最多执行旋转次数为2次
3、RB-delete-fixup要花O(lgn)时间,最多做三次旋转。
B树性质:
1、每个结点x有以下域:
a、x.n :当前存储在结点x中的关键字个数;
b、x.n个关键字本身,以非降序存放,因此x.key1 <= x.key2 <= ….<= x.keyn;
c、x.leaf:是一个布尔值,如果x是叶子的话,为True,如果为内结点,为false;
2、每个内节点x还包含x.n+1个指向子女的指针x.c1, x.c2, …x.cn+1,叶结点没有子女,故它们的ci域无定义。
3、各关键字x.keyi对存储在各字数的关键字范围加以分个:如果ki为存储在以x.ci为根的子树中的关键字,则:
k1 <= x.key1 <= k2 <= x.key2 <= …. <= x.keyn <= kx.n+1
4、每个叶结点具有相同的深度,即树的高度h
5、每个结点能包含的关键字有一个上界和下界,这些界可用一个称作B树的最小度数的固定整数t >= 2来表示:
a、每个非根结点必须至少有t-1个关键字,每个非根的内结点至少有t个子女,如果树是非空的,则根节点至少有一个关键字‘
b、每个结点可包含至多2t-1个关键字,所以一个内结点至多有2t个子女。一个结点是满的,即恰好有2t-1个关键字。
即 t-1 =< 关键字总数 <= 2t+1
t = 2时的B树是最简单的,内结点可有2、3、4个子女,即2-3-4树
一般说m阶树,说的是关键字的最大容量,m = 2t
B树的高度:
B树上大部分操作所需的磁盘存取次数与B树的高度成正比
如果n >= 1,则对任意一棵包含有n个关键字,高度为h,最小度数t >= 2的B树T,有:h >= logt (n+1)/2