正如標題中提到的,二叉搜索樹中最左邊的節點總是包含最小值?在搜索路徑中,比如說A是最左邊的節點,B是父節點,C是最右邊的節點。有沒有任何例子,訂單a < = b < = c並不總是這樣?我知道可以進行輪換以確保平衡性能得以維持,但是我不能拿出一個例子,其中事物並不總是平衡的,以至於不總是如此。我只是在學習這個數據結構,與數組和列表相比,它絕對不同於我。是的,這是一個給我的練習。我只想要一些提示/想法!二叉搜索樹 - 最左邊的節點總是包含最小值?
0
A
回答
1
您的問題的直接答案是「是的」,但是應該限定這是基於假設您正在通常在數據結構類中教授的方式構建樹。
我的意思是,如果您確實根據問題的值是否小於或大於當前節點來確定是向左還是向右插入節點,那麼答案是肯定的。顯然,如果您使用其他標準來做出決定,那麼這可能會改變。 :)由於這種策略,你可以保證沒有比左邊路徑下的父節點更大的值。
這實際上是二叉樹的巨大力量進來的地方。然而,它的含義是,如果插入的數據分佈不均勻,最終可能會出現一個朝一個方向嚴重偏斜的樹。這是一個問題,因爲這種樹的一部分目的是在插入時間和搜索時間之間進行權衡。如果樹歪斜了,沒有什麼好處,事實上,找到一個節點比平面陣列中可能需要更長的時間。
這將引導您討論均衡樹木和AVL樹木。爲了保證任何搜索的最壞情況特定Big O值,每次插入導致左右節點數量變得太平衡時,樹會重新平衡。雖然這會增加更多的插入和刪除開銷,但保證最糟糕的情況在您擁有大量數據時非常值得。
希望你玩得開心!數據結構是一個迷人而有趣的學習過程!
相關問題
- 1. 二叉搜索樹節點大小
- 2. 如何查找並返回二叉樹的最底部(最深節點)節點?二叉搜索樹?
- 3. 二叉搜索樹基於節點數量的最大和最小高度
- 4. 二叉搜索樹最大值
- 5. 二叉搜索樹中K個最小元素的總和
- 6. 佈局二叉搜索樹
- 7. 二叉樹中最大的二叉樹搜索樹
- 8. 在二叉搜索樹中查找最近的節點
- 9. 二叉搜索樹從testdome
- 10. 什麼是二進制子樹的最左邊和最右邊的節點?
- 11. 二叉搜索樹
- 12. 二叉搜索樹包含函數
- 13. 查找二叉樹的最深節點
- 14. 從刪除節點二叉搜索樹
- 15. 二叉搜索樹節點刪除
- 16. 二叉搜索樹刪除節點
- 17. 將節點插入二叉搜索樹
- 18. 如何在二叉搜索樹中查找最小值?
- 19. 最優二叉搜索樹 - Cormen
- 20. 在二叉搜索樹
- 21. 從二叉搜索樹
- 22. 二叉搜索樹分析
- 23. 二叉樹搜索和跟蹤
- 24. 平衡二叉搜索樹子樹
- 25. 二叉樹搜索值小於
- 26. 二叉樹的最低公共祖先(不是二叉搜索樹)
- 27. 功能找到最深的二叉搜索樹總和
- 28. 二叉搜索樹
- 29. 最大的子樹哪個是二叉搜索樹(BST)
- 30. 如何在二叉搜索樹的右子樹中找到最小值