1、二叉排序树
二叉排序树或者是一棵空树,或者是具有如下性质的二叉树。
①若它的左子树非空,则左子树上所有结点的值均小于根结点的值;
②若它的右子树非空,则右子树上所有结点的值均大于(或大于等于)根结点的值。
③它的左右子树也分别是二叉排序树。
2、平衡二叉排序树(AVL树)
一棵平衡二叉排序树或者是具有下列性质的二叉排序树:
①左子树与右子树的高度之差的绝对值小于等于1;
②左子树和右子树也是平衡二叉排序树。
3、B树
一棵B树是一棵平衡的m路查找树,它或者是空树,或者是满足如下性质的树:
①树中每个结点最多有m棵子树;
②根结点至少有两棵子树;
③除根结点之外的所有非叶结点至少有「m/2棵子树。
④所有叶结点出现在同一层上,并且不含信息,通常称为失败结点。失败结点为虚结点,在B树中并不存在,指向它们的指针为空指针。引入失败结点是为了便于分析B树的查找性能。
4、B+树
B树是一种平衡的m路查找树,是组织和维护外存文件系统的有效数据结构。
B+树是B树的一种变形树,在文件系统中应用的更为广泛。
5、红黑树
一棵红黑树是满足下面红黑性质的二叉搜索树:
①每个结点或是红色的,或是黑色的;
②根结点是黑色的;
③每个叶结点(NIL)是黑色的;
④如果一个结点是红色的,则它的两个子结点都是黑色的;
⑤对每个结点,从该结点到其所有后代叶结点的简单路径上,均包含相同数目的黑色结点。