二叉树
是每个节点最多有两个子树的树结构。通常子树被称为“左子树”和“右子树”
完全二叉树
若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。
满二叉树
若设二叉树的深度为h,每一层的节点数都达到最大个数,各层节点数之和为,这就是慢二叉树
二叉查找树
特点:
1、若任意节点N的左子树不为空,那么左子树上的值均小于N节点的值
2、若任意节点N的右子树部位空,那么右子树上的值均大于N节点的值
3、任意节点的左、右子树,也都是二叉查找树
4、没有键值相等的节点
有序数组和链表是两种典型的线性结构,有序数组在查找的时候效率高,链表在插入的时候效率高,而二叉查找树结合两种数据结构的优点,查找插入效率都不错。
平衡二叉树
它是一棵二叉查找树,并且它还有如下性质:它是一棵空树或者它的左右子树的高度差的绝对值不超过1
红黑树
它是一棵二叉查找树,并且它还有如下5个性质,这五个性质保证它的时间复杂度为O()
性质1:节点是红色或者黑色
性质2:根节点是黑色
性质3:每个叶子节点(NIL,空节点)是黑色
性质4:每个红色节点的两个子节点是黑色。(从叶节点到根节点的路径上不能有两个连续的红色节点)
性质5:从任意节点到其叶子节点的路径包含相同的黑色节点。