2
我讀過一些Q &關於自平衡二叉樹,但我並不十分熟悉它們。關於平衡二叉搜索樹的比較
我知道的第一個是AVL,第二個是紅黑樹。
有些東西我不太明白:根據一些書籍和文章,AVL可以執行比紅黑樹快一點的搜索,好吧,這是可以理解的。
那麼什麼是紅黑樹對AVL的優勢?
在AVL中,可能在每次插入之後,我們必須檢查平衡,但在紅黑樹中我們不必經常這樣做,對吧?
PS: 我搜索了類似的東西,但我沒有得到滿意的答案。 希望有些朋友可以給我一個自平衡樹木的詳細比較。
感謝您的回答。你的意思是,rb-tree對AVL的唯一優勢是rb-tree執行的重新平衡操作較少,如果我們更新(插入/刪除)很多,應該很方便嗎? – Alcott
@Alcott基本上是的。在實踐中,rb-trees在大多數情況下勝過AVL樹。 AVL樹在您構建樹一次*的情況下執行得更好,然後僅將其用於查找。但在這種情況下,根本不需要自平衡樹:因爲它是靜態的,所以可以手動平衡一次。 –
我知道B樹在數據庫中很流行,我也讀過幾篇關於B樹在數據庫中的應用的文章,但是我還是不太明白數據如何排列在磁盤上,以及如何保持B樹結構在磁盤? – Alcott