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

标签 java algorithm search

我必须编写一个小的 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/

相关文章:

algorithm - 如果有多个领导者,Raft 算法如何保证共识?

PHP:获取当前数组键?

elasticsearch - 信息检索 - 我如何处理将单个单词分解为多个标记的搜索查询

search - 二分查找最坏的情况是什么

java - 混淆 Struts2 Web 应用程序

java接口(interface)输入参数从基类扩展

java - SoapUI、Maven、TestRails 连接

algorithm - 优化学生座位安排的算法

java - 反射:使用 Number 作为基元的包装器来调用方法

java - 如何创建 Battleship 战舰游戏算法