[英]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.