對於順序搜索,在文件中查找記錄所需的平均比較次數是多少?順序搜索
Q
順序搜索
0
A
回答
3
A sequential search從文件的開頭開始逐個檢查每個元素,直到找到所需的元素。假設您正在搜索的記錄只存在於文件中一次,並且可能在文件中的任何位置具有相同的概率,則平均比較次數等於文件中記錄數量的一半。
但是,如果記錄不存在於文件中,則在發現該文件之前,必須檢查文件中的每個記錄。
1
對於包含n個項目的列表,最好的情況是該值等於列表的第一個元素,在這種情況下只需要一個比較。最壞的情況是該值不在列表中(或僅在列表末尾出現一次),在這種情況下需要進行n次比較。
Asymptotically,因此,最壞情況下的成本和線性搜索的預期成本都爲O(n)
0
我想補充幾點,以前的答案未能指出:
另一方面,我們必須考慮文件是在一臺設備上可用還是分佈在多臺設備上。在T rams的情況下,複雜性將是
O(T*N/(1+log(T)))
。一般來說,順序搜索需要
O(N) time complexity
。與R-Tree等數據結構結合使用時,在文件記錄情況下,它可以給出
O(N/(log(log(N))))
的最佳時間複雜度。它取決於文件的結構/格式,這樣如果數據字段在哈希映射中可用,順序搜索就是積壓。
相關問題
- 1. 順序搜索
- 2. 順序搜索問題
- 3. Wordpress搜索結果順序
- 4. Java庫搜索順序
- 5. JBoss6 Classloading Jar搜索順序
- 6. 二進制/順序搜索
- 7. 順序搜索Java的
- 8. NGram按順序搜索
- 9. Assembly.LoadFrom依賴搜索順序
- 10. HttpRequest索引器的搜索順序
- 11. .NET核心程序集搜索順序
- 12. SQL搜索結果按搜索的順序排列
- 13. Drupal搜索API自定義搜索字段順序
- 14. 彈性搜索自動完成與輔助搜索順序
- 15. 在兩個表中搜索並按術語順序搜索
- 16. mysql從相反順序搜索
- 17. 搜索與依賴的順序排列
- 18. Lucene近似搜索中詞的順序
- 19. MVC部分視圖搜索順序?
- 20. ElasticSearch - 順序關鍵字/短語搜索
- 21. 按順序搜索(x,y)對
- 22. 順序搜索算法的問題
- 23. 按標題搜索的順序youtube api
- 24. 搜索單詞不按順序
- 25. 庫搜索路徑條目的順序
- 26. 搜索 - 順序按關鍵詞
- 27. Windows:更改DLL的DLL搜索順序
- 28. H2全文搜索順序結果
- 29. Joomla - 搜索結果頁面的順序
- 30. 搜索查詢順序由asc或desc
而且當值不在文件中時,記錄所有記錄的最壞情況。 – 2010-03-06 17:25:47
我也將它看作(n + 1)/ 2。爲什麼n + 1? – neuromancer 2010-03-06 18:23:41
@Phenom:這是因爲你可以從兩個不同的假設開始。如果您假設您知道該條目在文件中,並且您只需要查找索引,則最小比較次數爲1,最大次數爲(n-1),平均值爲((n-1)+ 1)/ 2 = n/2。如果您假設您不知道條目在文件中的最小值爲1,則最大值爲n,因此在元素位於文件中時平均值爲(n + 1)/ 2,並且n如果不是。 – 2010-03-06 18:39:35