【數據結構】簡單談一談二分法和二叉排序樹BST查找的比較


二分法查找:
『在有序數組的基礎上通過折半方法不斷縮小查找范圍,直至命中或者查詢失敗。』
 
二分法的存儲要求:要求順序存儲,以便於根據下標隨機訪問
 
二分法的時間效率:O(Log(n))
 
二分法的空間效率:原地查詢 O(1)
 
二分法對應的搜索樹是確定的。
 
二叉排序樹查找:
『借助二叉排序樹進行搜索,但因為所建立的樹本身不一定是軸對稱的,所以每次比較並不能確保減小一半范圍。』
 
二叉樹的存儲要求:需要樹形結構,相比順序存儲需要占用更多的空間,但也有鏈接型數據結構靈活可拓展的有點。
 
二叉排序樹查找的時間復雜度:平均情況下,O(Log(n)),但在單支樹的情況下就變成了順序遍歷搜素,復雜度退化為O(n)。
 
二叉樹的空間復雜度:因為需要建立排序二叉樹,所以空間復雜度為O(n)
 
插入節點的平均時間復雜度為O(LogN),不過這里我們主要談的是查找,所以其他方面暫且不聊了。后面為了減小時間復雜度,產生了二叉平衡樹用於優化二叉樹查找。
 
這里有一個經常提到的概念——查找長度,又分為失敗查找長度,成功查找長度,即是為了得出查找結果需要進行的元素對比次數,要借助對應搜索樹和樹高來分析。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM