紅黑樹是一種自動平衡的二叉查找樹,由於存在紅黑規則,因此有效的防止了二叉樹退化成了鏈表,且查找和刪除的速度都很快,時間複雜度爲log(n)。html
什麼是紅黑規則?htm
1.根節點必須是黑色的。blog
2.節點顏色要麼是紅要麼是黑。繼承
3.樹的每個分叉存在相同黑色節點。二叉樹
4.不容許存在兩個連續的紅色節點。程序
爲不斷適應紅黑規則,在寫程序中如何調整?鏈表
1.旋轉紅黑樹
---單旋轉時間
外側節點單旋轉。外側節點指的是左子樹的左孩子節點,右子樹的右孩子節點。co
---雙旋轉
內側節點雙旋轉。內側節點指的是左子樹的右孩子節點,右子樹的左孩子節點。
2.變色
---節點顏色進行更改。
---強制將根節點顏色變爲黑色。
博文參考連接:http://www.cnblogs.com/skywang12345/p/3245399.html (紅+黑節點指的是父節點紅色,當前節點黑色。黑+黑是父節點黑色,當前節點黑色。前面的顏色可看作是經過繼承來的)。