空子节点
红黑规则:
1:每一个节点不是红色就是黑色。(非红即黑)
2:跟总是黑色。(一如既往)
3:如果节点是红色的,则它的子节点必须是黑色的(反之不一定必须为真)。(知己知彼)
4:从跟到叶节点或空子节点的每一条路径,必须包含相同数目的黑色节点。
第四条的定义其实是同一级别高度的比较。空子节点是父的节点高度。如下的图像就是违反规则的:
实际上在红黑树的查找时间大约需要log2N次比较,但是不能超过2*log2N次比较。
一次插入需要一次旋转,因此插入的时间复杂度还是O(log2N),但是绝对比二叉树慢。
红黑树只是对有序数据提供的一个方案。