二叉树
:仅有一个根节点,每个节点最多只能有两个子树的树型结构。
满二叉树
:除最后一层无任何子节点外,每一层上的所有结点都有两个子结点的二叉树。
完全二叉树
:一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同。
通俗地来说,就是除节点那一层,每一层都是满的,节点那一层是按顺序放置的。
满二叉树就是完全二叉树。
二叉搜索树【也称二叉排序树、二叉查找树、BST树】
:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。
平衡树
:任意节点的子树的高度差都小于等于1的树型结构。
第1颗树与第2棵树任意节点的子树高度差为最大为1,第3颗树任意节点的子树高度差为最大为0。
满二叉树就是平衡树。
平衡二叉搜索树
:就是平衡的二叉搜索树,满足平衡树和二叉搜索树的共同性质:①任意节点的子树的高度差都小于等于;②若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。
红黑树
: 是一种自平衡二叉查找树,但左右子树高差有可能大于 1,所以红黑树不是严格意义上的平衡二叉树,还满足以下5个性质。
性质1. 结点是红色或黑色。
性质2. 根结点是黑色。
性质3. 所有叶子都是黑色。
性质4. 每个红色结点的两个子结点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色结点)
性质5. 从任一结点到其每个叶子的所有路径都包含相同数目的黑色结点。
(注:,在红黑树中真正被定义为叶子结点的,是那些空节点)
比如下例:
是红黑树吗?NO(不满足性质5),因为实际上的红黑树定义是下图
B树(即B-树)
B+树
还有B-link树,线段树等等。