資料結構 紅黑樹

2021-07-11 23:13:18 字數 751 閱讀 5275

紅黑樹是二叉排序樹的改進,

紅黑樹有幾個特點:

1:節點只有2中顏色,紅色和黑色。

2:根節點一定是黑色節點。

3:紅色節點的子節點一定是黑色節點。

4:黑色高度(根節點到每個葉子節點的路徑長度包含相同的黑色節點)相等。

規定的插入的節點一定是紅色節點,

紅黑樹的插入節點後需要調整的規則,插入節點需要調整的情況有3種:

情況1:插入的節點的父節點和叔叔節點都為紅色:

以上情況節點4為插入節點(當前節點),這種情況調整方式是將父節點和叔叔節點都調整為黑色節點,祖父節點調整為紅色,將祖父節點變為當前節點。調整後就變為情況2.如下:

情況2:父節點為紅色,叔叔節點為黑色,並且當前節點為父節點的右節點。將當前節點7的父節點變為當前節點,將當前節點作為支點向左ll旋轉,就變為情況3:

情況3:當前節點的父節點是紅色,叔叔節點為黑色,並且當前節點是父節點的左節點。調整方法為:將祖父節點變成紅色,以祖父節點為支點向右ll旋轉,最後將根節點變成黑色。

總結:調整的順序為  1->2->3:

資料結構 紅黑樹

一 紅黑樹 紅黑樹 red black tree 是一種自平衡二叉查詢樹,是在 電腦科學中用到的一種 資料結構 典型的用途是實現 關聯陣列 可以保證最長路徑不超過最短路徑的2倍,近似平衡。二 性質 性質1.節點是紅色或黑色。性質2.根節點是黑色。性質3 每個葉節點 nil節點,空節點 是黑色的。性質...

資料結構 紅黑樹

紅黑樹是一棵二叉搜尋樹,它在每個節點上增加了乙個儲存位來表示節點的顏色,可以是紅色也可以是黑色。通過對任何一條從根到葉子簡單路徑上的顏色來約束,紅黑樹保證最長路徑不超過最短路徑的兩倍,因而近似於平衡。紅黑樹滿足下面的性質 1 每個節點,不是紅色就是黑色的 2 根節點是黑色的 3 如果乙個節點是紅色的...

資料結構 紅黑樹

資料結構之紅黑樹 一 什麼是紅黑樹?紅黑樹是一棵二叉搜尋樹,它在每個結點上增加了乙個儲存位來表示結點的顏色,可以是red或者black,通過對任何一條從根節點到葉子結點上的簡單路徑來約束,紅黑樹保證最長路徑不超過最短路徑的兩倍,因而近似平衡。二 紅黑樹滿足的條件?1.每個結點不是紅色就是黑色 2.根...