簡體   English   中英

AVL樹與平衡樹

[英]AVL Tree vs Balanced Tree

AVL樹是眾所周知的內部存儲器數據結構,而平衡樹是已知的外部存儲器數據結構。 為什么我們也不能將平衡樹用於內部存儲器?

您非常可能在內部存儲器中擁有平衡的樹。 AVL樹只是平衡樹的一種,還有其他一些樹,例如紅黑樹和2-3-4樹。

因此,我不確定您從何而來的想法是內部存儲器中不存在平衡樹,但如果您是我,我會重新考慮。

而且,實際上,如果您願意,也可以在磁盤上放置AVL樹。


根據您的評論,我懷疑您可能在想的是一個BTree,它就像一個二叉樹,但是每個節點可以容納多個值並具有兩個以上的子級,例如:

root node -,
           |
           V
 +------+------+------+
 | Val1 | Val2 | val3 |
 +------+------+------+
/       |      |      \
<other nodes down here>

這與更一般的術語“平衡樹”不同,它們通常用於磁盤情況,因為您傾向於一次讀/寫整個塊/集群/扇區。

因此,如果您可以在磁盤塊中容納10個值,則使用BTree會更有效(而內存沒有塊大小的概念,因此最好使用更簡單的算法-BTree必須將兩個樹搜索結合起來找到一個節點並進行線性/二進制搜索以該節點中定位該值)。

但是,盡管B樹可以是平衡樹,它再一次只有一個類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM