1.二叉排序树
二叉排序树或者是一棵空树,或者是具有下列性质的二叉树
(1)若它的左子树不空,则左子树上所有节点的之均小于它的根节点的值;
(2)若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值;
(3)它的左、右子树也分别为二叉排序树。
2.平衡二叉树
平衡二叉树或者是空树,或者是具有如下特征的二叉排序树:
(1)左子树和右子树的深度之差的绝对值不超过1;(这里的深度指的是层数)
(2)左子树和右子树也是平衡二叉树。
3.B-树
一棵m阶的B-树,或为空树,或为满足下列特性的m叉树:
(1)树种每个节点至多有m棵子树
(2)若根节点不是叶子节点,则至少有两棵子树;
(3)除根之外的所有非终端节点至少有m/2棵子树
(4)所有的叶子节点都出现在同一层次上,并且不带信息,通常称为失败节点(失败节点并不存在,指向这些节点的指针为空。引入失败节点是为了方便分析B-树的查找性能)
(5)所有的非终端节点最多有m-1个关键字,节点的结构如图
4.B+树和B-树的差异
一棵m阶的B+树和m阶的B-树的差异在于:
(1)有n棵子树的节点中含有n个关键字
(2)所有的叶子节点中包含了全部关键字信息,以及指向这些关键字记录的指针,且叶子节点本身依关键字的大小自小而大顺序链接
(3)所有的非终端节点可以看成是索引部分,节点中仅含有其子树(根节点)中最大(最小)关键字