資料結構中搜索方法的比較
在不同的情況下,我們使用不同的搜尋方案來查詢某些鍵。在這一部分,我們將看到兩種搜尋技術的基本差別,即順序搜尋和二分搜尋。
順序搜尋 | 二分搜尋 |
---|---|
時間複雜度為 O(n) | 時間複雜度為 O(log n) |
找出在常量時間內出現在首個位置的鍵 | 找出在常量時間內出現在中間位置的鍵 |
容器中的元素的順序不會產生影響。 | 容器中的元素必須按順序排列 |
可以使用陣列和連結串列來實現 | 它不能直接實現為連結串列。我們需要更改列表的基本規則來實現 |
演算法本質上是迭代的 | 演算法技術是分而治之。 |
演算法很容易實現,並且需要的程式碼量較少。 | 演算法有點複雜。它需要的程式碼量較多。 |
對最壞的情況來說,需要進行 N 次比較。 | 在最壞情況下,進行 Log n 次比較就足夠了。 |
廣告