2015-01-08 109 views
1

我明天考試,有3個問題在筆記上我無法理解。Avl樹和紅黑樹的比較

1- #searches >> #insertions和#deletions = 0哪棵樹? (Avl或紅黑樹)(答案是Avl)

2-#插入> 0和#搜索=#刪除= 0哪棵樹? (Avl或紅黑樹)(答案是紅黑)

3-#插入=#刪除和#搜索= 0哪棵樹? (Avl或紅黑樹)(答案是紅黑)

你能解釋一下嗎? 感謝您的幫助

回答

3

與紅/黑樹相比,AVL樹通常具有較小的高度,因爲AVL不變量給予不平衡的空間較小。然而,與AVL樹相比,紅/黑樹具有更快的插入和刪除(維持紅/黑不變量的修正成本低於維護AVL不變量的修正成本)。

對於情況(1) ,AVL樹可能更好,因爲查找的代價會更低,如果查找的數量真的比插入的數量大得多,那麼AVL樹就會具有比較優勢。

對於情況(2),紅/黑樹可能會更快,因爲它支持更快的插入。

對於情況(3),出於與第(2)部分相同的原因,紅/黑樹可能會更快。

希望這會有所幫助!

+0

你可以看看我的RedBlackTree刪除方法嗎? http://stackoverflow.com/questions/28705454/how-to-fix-remove-in-redblacktree-implementation – committedandroider