1、排序二叉树
排序二叉树是一种特殊的二叉树,可以非常方便的进行检索,它具有如下特点:
- 若它的左子树不为空,则左子树上所有节点值都小于根节点的值
- 若它的右子树不为空,则右子树上所有节点值都大于根节点的值
- 左子树和右子树都一颗排序
排序二叉树评价查找时间为O(logn),极端情况下(所有节点都靠近一侧,树已经退化成了一个链表),这时的查找时间为O(n)
2、平衡二叉树
平衡二叉树是为了防止排序二叉树退化成链表,它具有如下特性:
- 具备排序二叉树的特性
- 所有节点的左子树和右子树的高度差不超过1
3、红黑树
红黑树是一种非完美平衡的自平衡二叉树,它的时间复杂度为O(longn)红黑树的特征如下:
- 所有节点都有颜色,要么是红色,要么是黑色
- 根节点是黑色的
- 所有叶子节点(NIL)都是黑色的空节点
- 红色节点的子节点必须是黑色的
- 任何一个节点到它的叶子节点包含相同的黑色节点