詳解紅黑樹

2021-08-15 10:05:41 字數 571 閱讀 5084

1.節點都有顏色

2.在插入和刪除的過程中,要遵循儲存這些顏色不同排列的規則。

帶顏色的節點

在紅-黑樹中,每乙個節點或者是黑色的或者是紅色的。當然也可以是任意的兩種顏色;

紅-黑規則

當插入或者刪除乙個新節點時,必須遵循一定的規則。它們被稱為紅-黑規則。遵循這些規則,樹就是平衡的。這些規則是:

每乙個節點不是紅色的就是黑色的。

根總是黑色的

如果節點是紅色的,則它的子節點必須是黑色的(反之倒不一定必須為真)。

從根到葉節點活空子節點的每條路徑,必須包含相同數目的黑色節點。

從根到葉節點或者空子節點的每條路徑,必須包含相同數目的黑色節點。

從「空子節點」是指非葉節點可以接子節點的位置。簡單第說就是乙個有右子節點的節點可能接左節點的位置,或者是有左子節點的節點可能接右子節點的位置。在從根到葉節點的路徑上的黑色節點的數目稱為黑色高度(black height),還有就是所有從根到葉節點路徑上的黑色高度必須相同

和一般的二叉樹類似,紅黑樹的查詢,插入和刪除的時間複雜度為o(logn).在紅黑樹中的查詢時間和在普通二叉樹搜尋樹中的查詢時間幾乎完全相同。

紅黑樹詳解

在這片文章 裡講到了二叉查詢樹,很好很棒,就是有乙個缺點,當根節點最大或最小時,會出現單腿情況,最差成了鍊錶。於是乎,就是誕生了紅黑樹。紅黑樹是一種平衡樹,但是不追求絕對的平衡 追求絕對的平衡會費時費資源 追求一定的平衡。2.紅黑樹的生成規則 1 把二叉樹所以節點先弄成紅色 2 根據紅黑樹的性質 生...

紅黑樹的插入操作詳解

每個節點或者是黑色節點,後者是紅色節點 根節點是黑色節點 每個葉子節點 null節點 是黑色節點 若乙個節點是紅色節點,那麼它的所有子節點都是黑色節點 從任意乙個非葉子節點出發,到達葉子節點,其中所有路徑經過的黑色節點的數目是相同的 以上5個特點決定紅黑樹中,從乙個非葉子節點出發到達葉子節點,其中最...

紅黑樹介紹及旋轉詳解

一 二叉查詢樹 二叉查詢樹 二叉搜尋樹 二叉排序樹 binary sort tree 或者是一棵空樹 或者是具有下列性質的二叉樹 1.若左子樹不空,則左子樹上所有結點的值均小於它的根結點的值 2.若右子樹不空,則右子樹上所有結點的值均大於它的根結點的值 3.左 右子樹也分別為二叉排序樹 4.沒有鍵值...