簡體   English   中英

這是否意味着二進制搜索算法?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM