紅黑樹總結

2021-10-01 07:32:57 字數 593 閱讀 6184

關鍵特點:

1、根是黑色

2、null是黑色

3、沒有相連的紅色

4、乙個節點到null所有路徑上所有黑色節點數量相等

最高高度2log(n+1),最壞時間複雜度log(n)

插入:自底向上插入:

需要用乙個棧儲存搜尋路徑經歷過的節點。

1、按照二叉搜尋樹插入,新插入點為紅色。

2、如果新插入節點的父親是黑色,直接返回。

3、如果新插入的節點父親是紅色,分兩種情況(需要乙個處理函式):

a、新插入節點的叔叔是黑色的,直接旋轉、塗色後返回。

旋轉分兩種情況:

a、祖父、父親和當前節點呈「一」字形,單旋轉,以祖父為支點,將父親旋轉到祖父處形成新的子樹。

b、祖父、父親和當前節點呈「之」字形,雙旋轉,以父親為支點,將當前點旋轉到父親處,再以祖父為支點,將當前節點旋轉到祖父處,形成新的子樹。

塗色:無論哪種情況,旋轉完,將子樹的根塗黑,子樹的兩個兒子塗紅,之後就完成插入。

b、新插入節點的叔叔是紅色的,此時將祖父塗成紅色,父親與叔叔塗成黑色,之後將祖父作為新插入節點,再次呼叫該處理函式。

當然,如果該節點是根,那麼直接塗成黑色。

紅黑樹總結

r b tree,全稱是red black tree,又稱為 紅黑樹 它一種特殊的二叉查詢樹。紅黑樹的每個節點上都有儲存位表示節點的顏色,可以是紅 red 或黑 black r b tree,全稱是red black tree,又稱為 紅黑樹 它一種特殊的二叉查詢樹。紅黑樹的每個節點上都有儲存位表示...

紅黑樹總結

節點是紅色或黑色 根節點是黑色 不能有連續的兩個紅色節點。從任一節點到其每個葉子的簡單路徑都包含相同數目的黑色節點 由上面的性質4可以得到,紅黑樹中新插入的節點必須是紅色節點。先按照二叉搜尋樹的插入方式,找到合適的插入位置。並且插入的節點應為紅色。如果新插入節點的父節點本身就是紅色,就和性質3發生了...

紅黑樹知識總結

紅黑樹 red black tree 是一種自平衡二叉查詢樹,所有資料塊都儲存在節點中,在進行插入和刪除操作時通過特定操作保持二叉查詢樹的平衡,從而獲得較高的查詢效能,它雖然是複雜的,但它的最壞情況執行時間也是非常良好的,並且在實踐中是高效的 它可以在o log n 時間內做查詢,插入和刪除,這裡的...