平衡查詢樹之2 3查詢樹

2021-08-01 20:25:16 字數 447 閱讀 9612

二叉查詢樹不能保證樹的平衡性,在最壞情況下,查詢插入操作需要線性時間。

為了保證查詢樹的平衡性,有了2-3樹的概念。

它是實現紅黑樹的基礎。

2-3樹中有兩種結點:

當插入結點時,通過一些基本操作,可以保證這棵樹是完美平衡的,因此查詢和插入的時間會是對數級的。

插入過程有如下幾種可能性:

區域性變換不會影響樹的全域性有序性和平衡性,這是理解這個演算法的關鍵。

為什麼不直接用**實現2-3樹呢?

因為要有下面這些操作:

這些操作產生的額外開銷可能使演算法比標準二叉查詢樹更慢。

為此,我們用紅黑樹來實現。

平衡查詢樹之2 3樹

本文及後面文章介紹的平衡查詢樹的資料結構能夠保證在最差的情況下也能達到lgn的效率,要實現這一目標我們需要保證樹在插入完成之後始終保持平衡狀態,這就是平衡查詢樹 balanced search tree 在一棵具有n 個節點的樹中,我們希望該樹的高度能夠維持在lgn左右,這樣我們就能保證只需要lgn...

平衡查詢樹

在前面我們說了二叉查詢樹,它在最壞的情況下是很糟糕的。下面我們來說一種查詢樹,這種這查詢樹能夠保證無論如何構造它,它的執行時間都是對數級別的。理想情況下我們希望能夠保持二分查詢樹的平衡性。在一棵含有n個結點的樹中,我們希望樹的高度為lgn,這樣我們就能保證所有查詢能在lgn次比較內結束,就和二分查詢...

多路查詢樹 2 3樹 B樹

2 3樹是最簡單的b 樹 或 樹 結構,其每個非葉節點都有兩個或三個子女,而且所有葉都在統一層上。2 3樹不是二叉樹,其節點可擁有3個孩子。不過,2 3樹與滿二叉樹相似。高為h的2 3樹包含的節點數大於等於高度為h的滿二叉樹的節點數,即至少有2 h 1個節點。其他2 3樹 詳細 乙個節點要麼沒有子節...