红黑树的性质
- 黑红树肯定是一个二叉排序树,但不一定是平衡二叉树
- 性质口诀:左根右,根叶黑,不红红,黑路同
- 满足二叉排序树,则左结点 < 根节点 < 右结点(左根右)
- 每个结点是红色或者黑色
- 根结点一定是黑色
- 叶子结点(一般是虚构的外部结点、NULL结点)一定是黑色
- 不存在两个相邻的红结点(一个红结点的父结点和子结点一定是黑色)
- 对每个结点,从该结点到任一叶子结点的简单路径上,所含黑结点的数量相同
- 结论
- 从根到叶结点的最长路径不大于(≤)最短路径的2倍
- 有n个内部结点的红黑树的高度 h ≤ 2log2(n+1)
这里看不懂问题不大,对照着例子来理解即可
红黑树的插入
- 规则
举例说明(完整版)
这里只插入了5个元素,但是后续的插入操作与当前的差不多。
需要知道的是红黑树是基于平衡二叉树的插入操作的,所以想要学好红黑树的插入的前提是理解平衡二叉树的插入