2-3-4樹

2-3-4 樹計算機科學中是階爲 4 的B樹

大體上同B樹一樣,2-3-4 樹是可以用做字典的一種自平衡數據結構。它可以在O(log n)時間內查找、插入和刪除,這裏的 n 是樹中元素的數目。

2-3-4 樹在多數編程語言中實現起來相對困難,因爲在樹上的操作涉及大量的特殊情況。紅黑樹實現起來更簡單一些,所以可以用它來替代。

2-3-4 tree example.png

背景

2-3-4 樹把數據存儲在叫做元素的單獨單元中。它們組合成節點,每個節點都是下列之一

  • 2-節點,就是說,它包含 1 個元素和 2 個兒子,
  • 3-節點,就是說,它包含 2 個元素和 3 個兒子,
  • 4-節點,就是說,它包含 3 個元素和 4 個兒子 。
2-節點
3-節點
4-節點


每個兒子都是(可能爲空)一個子 2-3-4 樹。節點是其中沒有父親的那個節點;它在遍歷樹的時候充當起點,因爲從它可以到達所有的其他節點。葉子節點是有至少一個空兒子的節點。

B樹一樣,2-3-4 樹是有序的:每個元素必須大於或等於它左邊的和它的左子樹中的任何其他元素。每個兒子因此成爲了由它的左和右元素界定的一個區間

2-3-4 樹是紅黑樹的一種等同,這意味着它們是等價的數據結構。換句話說,對於每個 2-3-4 樹,都存在着至少一個數據元素是相同次序的紅黑樹。在 2-3-4 樹上的插入和刪除操作也等價於在紅黑樹中的顏色翻轉和旋轉。這使得它成爲理解紅黑樹背後的邏輯的重要工具。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章