[英]Does this mean binary search algorithm?
我必須編寫一個小型Java程序來找出執行搜索算法所需的時間。
該算法的內容為:
假設您有一個搜索算法,該算法在每個遞歸級別上都在搜索特定數據項時不考慮一半的數據。 僅當剩下一個數據項時搜索才會停止。
我想知道您對哪種搜索算法的看法。
聽起來像是二進制搜索或半間隔搜索,但前提是您的集合或數據在O(log n)
處於排序,最差和平均的情況
如果必須先進行排序,那么最佳算法將為您提供O(n log n),然后再加上O(log n)的二分查找,總的來說它將變為O(n log n)
如果您的數據已排序,則是的,這是二進制搜索算法。 該算法屬於“分而治之”策略。 在這種情況下,每次算法都繼續對數據進行分割,並且消除了一半的數據。 基本假設是在應用算法之前對數據進行排序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.