红黑树使用红黑二色进行“着色”,目的是利用颜色值作为二叉树的平衡对称性的检查,只要插入的节点“着色”满足红黑二色的规定,最短路径与最长路径不会相差的太远,红黑树的节点分布就能大体上达至均衡。
演示动画网站:http://www.bbniu.com/matrix/ShowApplication.aspx?id=149
红黑二色的规定:
1.根节点是黑色。
2.每个叶子节点都是黑色的空节点(NIL),也就是说,叶子节点不存数据。
3.任何相邻的节点都不能同时为红色,也就是说,红色节点是被黑色节点隔开的。
4.每个节点,从该节点到达其可达叶子节点的所有路径,都包含相同数目的黑色节点。
平均时间复杂度:
查找:O(log(n))
插入和删除不太清楚,比较复杂,需要按照规则来调整红黑树。