紅黑樹和平衡二叉

2021-10-05 23:14:45 字數 322 閱讀 5729

1.乙個節點要麼黑要麼紅

2.根節點永遠是黑的

3.紅色節點的兒子們只能是黑的

4.根到所有葉節點的路徑中黑節點數目相同

1、平衡二叉樹樹是根據平衡因子,每個節點左右子樹高度差不超過1,是絕對的平衡樹;

紅黑樹不是絕對平衡的,而是根到所有葉節點的路徑中黑節點數目相同,邏輯上是平衡的。

2.平衡二叉樹,平衡一棵樹時的方法是:左旋,右旋,左左,左右,右右,右左。

紅黑樹不滿足紅黑機制時:變色或者旋轉。

3.由於上面兩點當資料量巨大時,平衡二叉樹的旋轉次數無法估計,而紅黑樹變色或者旋轉次數卻遠遠低於平衡二叉樹的 數量。

平衡二叉樹 紅黑樹

顏色調整,第一種情況uncle存在且為紅色,第二種和第三種情況,uncle不存在 uncle存在且為黑色,先處理第三種情況,針對parent進行左單旋。test.cpp include using namespace std enum colour template struct rbtreenod...

二叉查詢樹 平衡二叉樹 紅黑樹

先看幾個基本概念 樹 由根出發,指向n個孩子,孩子再指向孫子。這樣一種資料結構 二叉樹 每個接點最多有兩個孩子的樹 二叉查詢樹 每個結點的左子樹 結點 右子樹 平衡二叉樹 每個結點左右子樹的高度差不大於1 紅黑樹 從任一節點到其每個葉子的所有簡單路徑 都包含相同數目的黑色節點。當然還有其它性質 幾點...

二叉查詢樹 平衡二叉樹 紅黑樹

平衡二叉樹 首先是一棵二叉查詢樹。帶有平衡條件 每個結點的左右子樹的高度之差的絕對值 平衡因子 最多為1。紅黑樹 雖然本質上是一棵二叉查詢樹,但它在二叉查詢樹的基礎上增加了著色和相關的性質使得紅黑樹相對平衡,從而保證了紅黑樹的查詢 插入 刪除的時間複雜度最壞為o log n 還具體下列的特性 節點是...