紅黑樹的插入

2021-10-11 02:56:50 字數 355 閱讀 5865

跟轉魔方一樣,就是遵循這些規則:

樹為空,直接插入。

存在該節點,直接更新。

父節點為黑,直接插入。

父為紅4.1父紅+叔叔紅,變色,把爺爺節點當做插入節點

4.2父親是左節點

4.2.1父紅+叔叔不存在或黑+插入節點是父親的左節點,對爺爺右旋,父變黑,爺變紅

4.2.2父紅+叔叔不存在或黑+插入節點是父親的右節點,對父左旋,對爺爺右旋,父變黑,爺爺變紅

4.3父親是右節點

4.3.1父紅+叔叔不存在或黑,插入節點是父親的右節點,對父左旋,父變黑,爺變紅

4.3.2父紅+叔叔不存在或黑+插入節點是父親的左節點,對父右旋,對爺爺左旋,父變黑,爺爺變紅。

紅黑樹(插入)

紅黑樹的插入操作相對刪除操作比較簡單。紅黑樹要滿足 任一節點至null的任何路徑,所含黑節點數必須相同。所以,為了滿足此性質,插入節點應該為紅色。如果插入節點的父親為黑色,則不需要進行調整,若為紅色,有三種情況需要討論。1.父節點為紅色,叔節點為紅色 對於這種情況,同時改變父 叔節點顏色為黑色,並將...

紅黑樹插入

一 什麼是紅黑樹 紅黑樹 red black tree 是一種自平衡二叉查詢樹,是在電腦科學中用到的一種資料結構,典型的用途是實現關聯陣列。紅黑樹是一棵二叉搜尋樹,它在每個結點上增加了乙個儲存位來表示結點的顏色,可以是red或black。一棵紅黑樹是滿足下面紅黑性質的二叉搜尋樹 1 每乙個結點或是紅...

紅黑樹 插入

一 滿足下面幾個條件的二叉搜尋樹,稱為紅黑樹 1.任何乙個節點都被著色 紅色或是黑色。2.根節點是黑色的。3.所有的nil節點都看成黑色 nil節點是就是乙個假想的或是無實在意義的節點,所有應該指向null的指標,都看成指向了nil節點。包括葉節點的子節點指標或是根節點的父指標 4.如果乙個節點是紅...