紅黑樹簡介

2021-09-11 22:23:11 字數 1081 閱讀 6436

引用:

維基百科

1. 樹的導覽

樹由節點(nodes)和 邊(edges)構成。

樹有根節點(root),邊(deges),父節點(parent),子節點(child),葉節點(leaf)。

如果最多隻允許兩個子節點,即所謂的二叉樹(binary tree)。

不同的節點如果擁有相同的父節點,則彼此互為兄弟節點(siblings)。

根節點至任何節點之間有唯一路徑(path),路徑所經過的邊數,成為路徑長度(length)。

根節點至任一節點的路徑長度,即所謂該節點的深度(depth)。

根節點的深度永遠是0。 整棵樹的高度,便以根節點的高度來代表。

某節點至其最深子節點(葉節點)的路徑長度,成為該節點的高度(height)。

節點a->b 之間如果存在(唯一)一條路徑,那麼a 稱為b的祖代(ancestor),b稱為a的子代(descendant)。任何節點的大小(size)是指其所有子代(包括自己)的節點總數。

2、二叉樹

所謂二叉樹(binary tree),其意義是:「任何節點最多隻允許兩個子節點」。

3、紅黑樹

紅黑樹是乙個二叉樹,是乙個平衡二叉搜尋樹。

左子樹上所有的節點的值均小於或等於他的根節點的值

右子數上所有的節點的值均大於或等於他的根節點的值

根是黑色。

其他節點是紅色或黑色。

每個葉結點(葉結點即指樹尾端nil指標或null結點)都是黑的。

如果乙個結點是紅的,那麼它的兩個兒子都是黑的。

對於任意結點而言,其到葉結點樹尾端nil指標的每條路徑都包含相同數目的黑結點。

紅黑樹簡介

紅黑樹 紅黑樹五個性質 1 節點是紅色或者黑色 2 根節點為黑色 3 每個葉子節點為黑色 4 每個紅色節點的兩個子節點均為黑色 5 從任意節點到每個葉子節點的所有路徑均包含相同數目的黑色節點。紅黑樹最重要的性質 從根到葉子節點的最長可能路徑不多於最短可能路徑的兩倍長。紅黑樹大致上是平衡的,因此插入 ...

紅黑樹 RBT(一 紅黑樹定義以及簡介)

一 紅黑樹 1 介紹 紅黑樹是一種二叉查詢樹,但在每個節點上增加乙個儲存位表示節點的顏色,可以是red或black。通過對任何一條從根到葉子的路徑上的各個節點著色方式的限制,紅黑樹確保沒有一條路徑會比其他路徑長出兩倍,因而是接近平衡的。2 定義 它或者是一顆空樹,或者是具有一下性質的二叉查詢樹 1 ...

紅黑樹下 紅黑樹的實現

1.實現紅黑樹的基本思想 實際上,紅黑樹是有固定的平衡過程的 遇到什麼樣的節點分布,我們就對應怎麼去調整。只要按照這些固定的調整規則來操作,就能將乙個非平衡的紅黑樹調整成平衡的。首先,我們需要再來看一下紅黑樹的定義 在插入 刪除節點的過程中,第 三 四點要求可能會被破壞,所以 平衡調整 實際上就是把...