紅黑樹使用紅黑二色進行“着色”,目的是利用顏色值作為二叉樹的平衡對稱性的檢查,只要插入的節點“着色”滿足紅黑二色的規定,最短路徑與最長路徑不會相差的太遠,紅黑樹的節點分布就能大體上達至均衡。
演示動畫網站:http://www.bbniu.com/matrix/ShowApplication.aspx?id=149
紅黑二色的規定:
1.根節點是黑色。
2.每個葉子節點都是黑色的空節點(NIL),也就是說,葉子節點不存數據。
3.任何相鄰的節點都不能同時為紅色,也就是說,紅色節點是被黑色節點隔開的。
4.每個節點,從該節點到達其可達葉子節點的所有路徑,都包含相同數目的黑色節點。
平均時間復雜度:
查找:O(log(n))
插入和刪除不太清楚,比較復雜,需要按照規則來調整紅黑樹。