3
在我看來,像AVL樹總比BST更有效。那麼爲什麼人們仍然使用BST? AVL實施中是否會產生費用?使用AVL樹有什麼缺點?
在我看來,像AVL樹總比BST更有效。那麼爲什麼人們仍然使用BST? AVL實施中是否會產生費用?使用AVL樹有什麼缺點?
AVL樹有其優點和缺點超過其他樹木,如紅黑樹或2-3樹或只是普通的BST。
AVL樹:
優勢:
缺點:
如果您希望對數據進行排序,則BST將轉換爲鏈接列表。但是如果你期望你的數據是相當隨機的,那麼「平均而言」,你所有的BST操作(查找,刪除,插入)都是大約對數的。編碼BST非常容易:AVL樹雖然編碼起來相當簡單,但有很多角落案例,測試可能會非常棘手。總之,簡單的二叉搜索樹很容易編碼並且正確,如果你的數據相當隨機,應該表現得非常好(平均而言,所有操作都是對數)。 AVL Tree很難編碼,但是以一些額外空間和更復雜代碼的價格來保證對數性能。
'AVL樹總是比BST更有效率......'在做什麼操作? – PaulMcKenzie
請參閱http://stackoverflow.com/a/23277366/382471 – robert