二進制搜索算法具有O(log n)的大O值,並且順序搜索具有O(n)的大O值。但是在二分搜索之前我們需要排序算法,排序算法的最大O值是O(n.log n)。因此,有效地,二進制搜索的大O值是O(n.log n),這大於順序搜索的O值。那麼,哪一個是搜索算法的首選呢?哪種搜索算法更喜歡?
4
A
回答
3
實際上取決於您搜索的頻率。如果您必須搜索數百萬次,則即使您必須支付分類的前期成本,也需要進行二分搜索。這取決於你的用例。使用二進制搜索,您還可以確保插入操作可以保持列表的排序順序,因此它們也會變得更慢。
如果你需要做很多插入操作,而且只有很少的搜索,順序搜索可能會更快。
請記住,很多這些甚至不會引起注意,直到您使用很多的數據。
2
順序搜索實際上很少用於優化的應用程序。因爲找到合適的數據結構通常要好得多,然後使用在O(n)中提供經常使用的搜索的數據結構。
例如,red-black tree是一種特殊的平衡二叉樹,它提供在O(log n)中的全部插入/刪除/搜索。所以創建,填寫和搜索都很快。
相關問題
- 1. 我更喜歡哪種模式?
- 2. PHP PDO喜歡(搜索)
- 3. MYSQL喜歡搜索2表
- 4. 你更喜歡.net中的哪種配置方法?爲什麼?
- 5. 哪種搜索更快?
- 6. Mongodb中最喜歡哪種風格?
- 7. 你喜歡哪種 - Visual SVN或Ankhsvn?
- 8. 如何工作搜索查詢喜歡或喜歡和狀態
- 9. Vim CommandT喜歡搜索字符串
- 10. 製作搜索引擎喜歡谷歌
- 11. Google喜歡搜索框在Silverlight中
- 12. 谷歌喜歡骨幹收集搜索
- 13. Grails的搜索列表與「喜歡」
- 14. SQL搜索喜歡或包含
- 15. xsl喜歡還是模糊搜索?
- 16. Mysql喜歡與多個列的搜索
- 17. Mysql搜索引擎喜歡和匹配
- 18. 視覺工作室喜歡搜索
- 19. Android搜索欄喜歡谷歌應用
- 20. MYSQL多樣喜歡搜索位置
- 21. Codeigniter喜歡在幾個表中搜索
- 22. jQuery自動完成搜索喜歡Hotmail
- 23. 您更喜歡哪種Java Web服務框架?
- 24. 哪種算法更安全?
- 25. FOSFacebookBundle VS HWIOAuthBundle - 你更喜歡哪一個?
- 26. 哪本書我更喜歡vb6
- 27. 空合併運算符 - 您更喜歡以下哪一項?
- 28. 執行搜索喜歡谷歌搜索文本框
- 29. 您更喜歡哪種方法來測試Javascript的速度,爲什麼?
- 30. 您更喜歡搜索/報告DataTable還是DTO或Domain Class?