树: 是n个节点的有限集,由一个根节点和若干个子树构成。和我们生活中的树结构相似,n>0时根节点是唯一的,不能存在多个根节点。其中子树没有限制可以有多个,但是子树一定不相交。
二叉树: 是由一个根节点和两颗互不相交的分别称为根节点的左子树和右子树的二叉树组成。二叉树的每个节点最多有两个子节点,分别是左子节点和右子节点。二叉树中,有两种比较特殊的树,分别是满二叉树和完全二叉树。满二叉树又是完全二叉树的一种特殊情况。数组插入时左子节点要小于父节点,右子节点要大于父节点。
完全二叉树: 即所有的编号都要连续,节点的编号中间没有空位。
平衡二叉树: 二叉树中任意一个节点的左右子树的高度相差不能大于 1。这样看着比较对称而平衡。
红黑树: R-B Tree ,它是一种不严格的平衡二叉查找树,一类被标记为黑色,一类被标记为红色。
一棵红黑树还需要满足这样几个要求:
- 根节点是黑色的;
- 每个叶子节点都是黑色的空节点(NIL),也就是说,叶子节点不存储数据;
- 任何相邻的节点都不能同时为红色,也就是说,红色节点是被黑色节点隔开的;
- 每个节点,从该节点到达其可达叶子节点的所有路径,都包含相同数目的黑色节点。
························································································································································