1
A
回答
5
如果您只進行一些搜索,那麼基本的線性搜索就是您可以做的最好的搜索。
如果要經常搜索,通常最好進行排序,然後使用二分搜索(或者,如果內容的分佈如果可以預測的話,則是內插搜索)。
0
你可以做一個線性搜索。 但是線性搜索的問題在於它有性能問題,需要花費很多時間。 所以我建議如果可能的話排序數組,然後使用二進制搜索。 如果你想要更好的延遲,那麼嘗試插值搜索,這是典型二進制搜索的一個優化版本。
0
如果您的數據未排序,您可以使用散列表在O(1)時間訪問您的數據。
相關問題
- 1. 哪種搜索技術可用於ASP.NET?
- 2. 何時在Sharepoint開發中使用哪種搜索技術?
- 3. 哪種技術:PhoneGap,xml中的大數據和快速搜索?
- 4. 搜索未排序數組
- 5. 開發Web服務時我們可以使用哪種技術?
- 6. W3C Web Content Accessibility Guidelines 1.0,我可以使用哪種技術?
- 7. Android上使用哪種webservice技術?
- 8. apache php使用哪種緩存技術
- 9. 2048使用哪種渲染技術?
- 10. GMail使用哪種前端技術?
- 11. 使用哪種技術製作YouTube,如應用程序
- 12. 哪種技術更高效?
- 13. 哪種技術更好?
- 14. 哪種報告技術?
- 15. C/C++程序的API。哪種技術?
- 16. 哪種技術在這三種技術中速度會很快?
- 17. 使用乒乓技術在1D數組中搜索值?
- 18. 如何查找網站使用哪種數據庫技術。
- 19. 要使用哪種羣組消息技術?
- 20. 哪種技術可以選擇創建Web聊天客戶端?
- 21. 哪種技術可以改變tumblr主題背景?
- 22. 哪種字體嵌入技術可以抑制抗鋸齒?
- 23. mysql數據的文本搜索技術
- 24. 我應該使用哪種數據加密技術?
- 25. 搜索未排序的數組以獲得不精確匹配
- 26. 搜索並排序未排序的數組
- 27. 我可以使用哪種事件來抓取頁內搜索?
- 28. 您可以使用哪些技術來分析您的代碼
- 29. 哪種技術適用於構建可擴展的網站?
- 30. 哪種.net技術可供桌面應用選擇?
除非你有關於數組排序的一些信息,否則我認爲你不會比'O(n)'做得更好。 – Mysticial 2012-07-18 00:29:16
順序搜索有什麼問題?對於一個未分類的數組,O(n)大概是你能得到的最好的。 – 2012-07-18 00:29:24
問題是,如果數組沒有排序,那麼在消除數組中的可能元素之後,不會獲得任何額外的信息。因此,最壞的情況是你必須檢查每個元素,給你一個'O(n)'運行時間。 – 2012-07-18 00:53:02