數據結構Java版之紅黑樹(八)

  紅黑樹是一種自動平衡的二叉查找樹,由於存在紅黑規則,因此有效的防止了二叉樹退化成了鏈表,且查找和刪除的速度都很快,時間複雜度爲log(n)。html

  什麼是紅黑規則?htm

  1.根節點必須是黑色的。blog

  2.節點顏色要麼是紅要麼是黑。繼承

  3.樹的每個分叉存在相同黑色節點。二叉樹

  4.不容許存在兩個連續的紅色節點。程序

  爲不斷適應紅黑規則,在寫程序中如何調整?鏈表

  1.旋轉紅黑樹

    ---單旋轉時間

      外側節點單旋轉。外側節點指的是左子樹的左孩子節點,右子樹的右孩子節點。co

    ---雙旋轉

      內側節點雙旋轉。內側節點指的是左子樹的右孩子節點,右子樹的左孩子節點。

  2.變色

    ---節點顏色進行更改。

    ---強制將根節點顏色變爲黑色。

  博文參考連接:http://www.cnblogs.com/skywang12345/p/3245399.html  (紅+黑節點指的是父節點紅色,當前節點黑色。黑+黑是父節點黑色,當前節點黑色。前面的顏色可看作是經過繼承來的)。

相關文章
相關標籤/搜索