这是否意味着二进制搜索算法?

时间:2015-03-14 13:30:43

标签: java algorithm search

我必须编写一个小型Java程序,以了解执行搜索算法需要多长时间。

算法读作:

  

假设您有一个搜索算法,在每个递归级别,在搜索特定数据项时会排除一半数据。仅当剩下一个数据项时,搜索才会停止。

我想知道您对哪种搜索算法的看法。

2 个答案:

答案 0 :(得分:1)

听起来像二进制搜索或半间隔搜索,前提是您的集合或数据已经排序,最差和在O(log n)

如果你必须先排序,那么最好的算法会给你O(n log n),然后再加上O(log n)的二分搜索,总体来说它变成O(n log n)

答案 1 :(得分:0)

如果您的数据已排序,那么这是二进制搜索算法。该算法属于" Divide and Conquer"战略。在这种情况下,每次算法继续划分数据并消除一半数据。基本假设是在应用算法之前对数据进行排序。