那么是否有可能编写返回对象而不是索引的二进制搜索的实现?我需要这样,以便整个任务能够及时完成,O(logn)
而不必花更多的时间在我刚得到索引后调用collection.get(),所以复杂度就变成了O(nlogn)
。
二进制搜索将需要一个随机访问的容器。如果您知道索引,则应该能够访问O(1)中的项。如果不是这种情况,那么二进制搜索首先将是错误的算法。
在这种情况下,您将使用ArrayList
,它是数组的包装器,的确提供了有效的随机访问。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句