我必须编写一个小的 Java 程序来查明执行搜索算法需要多长时间。
算法如下:
Assume you have a search algorithm which, at each level of recursion, excludes half of the data from consideration when searching for a specific data item. Search stops only when one data item is left.
我想知道您对它是哪种搜索算法的看法。
最佳答案
如果您的集合或数据已排序,听起来像是二分搜索或半区间搜索,最坏的情况是 O(log n)
如果你必须先排序,那么最好的算法会给你 O(n log n),然后加上 O(log n) 的二分查找,整体变成 O(n log n)
关于java - 这是否意味着二进制搜索算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29049516/