紅黑樹的概念和性質

2021-08-29 04:05:24 字數 553 閱讀 4958

紅黑數的概念:

首先,紅黑數是一棵二叉查詢樹(二叉搜尋樹),即所有左孩子都小於根節點,右孩子都大於根節點的樹。其次,紅黑樹是一棵基本平衡的樹。注意這裡的詞語是「基本平衡」。平衡二叉樹的概念是,左子樹和右子樹的深度差小於等於1。而紅黑樹並不是嚴格的平衡樹,它只是基本平衡。平衡到什麼程度呢?最大深度小於等於最小深度的2倍。

紅黑數的性質:

紅黑樹有5個性質:1,每個節點是紅色或者黑色。2,根節點是黑色。3,所有葉子節點是黑色的。葉子節點都是nil節點(空節點)4,紅節點的孩子必須是黑節點。5,從乙個節點,到它的所有葉子節點的所有路徑中,經過的黑節點的個數是相等的。

關於性質3,可以推理出,所有從上到下的路徑中,不能有2個連續的紅節點。但可以有2個連續的黑節點。從紅黑樹的性質5,可以推理出「紅黑樹最大深度小於等於最小深度的2倍」這個結論。因為對任何乙個節點而言,比如它到左孩子葉子節點共經歷5個黑節點,那麼它到右孩子葉子節點一定也是經歷5個黑節點,經歷5個黑節點能夠做到的最大深度是多少呢?因為性質3,及不能有連續的2個紅節點,所以最大深度一定是紅黑相間的,那麼可以做到最大深度10.所以說「紅黑樹最大深度小於等於最小深度的2倍」。

紅黑樹性質

紅黑樹 red black tree 是許多 平衡的 查詢樹中一種,它能保證在最壞情況下,基本的動態集合操作的時間為o lgn 紅黑樹是一種二叉查詢樹,但在每個節點上增加乙個儲存位表示節點的顏色,可以是red或black,通過對任何一條從根到葉子節點路徑上各個結點著色方式的限制,紅黑樹確保沒有一條路...

紅黑樹性質和定義

紅黑樹是每個節點都帶有顏色屬性的二叉查詢樹,顏色或紅色或黑色。在二叉查詢樹強制一般要求以外,對於任何有效的紅黑樹我們增加了如下的額外要求 性質1.節點是紅色或黑色。性質2.根節點是黑色。性質3 每個葉節點 nil節點,空節點 是黑色的。性質4 每個紅色節點的兩個子節點都是黑色。從每個葉子到根的所有路...

演算法導論 13 1紅黑樹的性質

紅黑樹的性質 1 每個結點或是紅的,或是黑的。2 根節點是黑的。3 每個葉子結點是黑的。4 如果乙個結點是紅的,則它的 5 對每個結點,從該結點到其子孫結點的所有路徑上包含相同數目的黑結點。一顆有n個節點的紅黑樹的高度至少為2lg n 1 練習 13.1 2 對於書上13 1圖中插入36。如果結點顏...