java - 什么更快 : Using Quicksort then Binary Search OR Just Linear Search?

标签 java arrays sorting quicksort binary-search

如果我有一个包含 1000 个元素的整数数组,找到特定元素索引的最快方法是什么?最好先对其进行 QuickSort 然后使用 BinarySearch 还是只使用普通的旧 LinearSearch?

此外,如果我有 100 000 个元素或什至只有 100 个元素,最快的方法会有所不同吗?

谢谢!

最佳答案

线性搜索会更好。线性搜索的 O(N) 的最坏情况小于单独的快速排序(平均 O(nlog n) 但最坏情况 O(N^2)) and 那么您需要添加二进制搜索 (O(log N))。如果您需要多次搜索,排序和使用二分搜索会更好(如果您可以分摊排序成本,那么二分搜索比线性搜索更有效)。

关于java - 什么更快 : Using Quicksort then Binary Search OR Just Linear Search?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37089589/

相关文章:

Java 到 ASN1 可读字符串

javascript - 给定对象 : let obj = {'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5}; Convert the keys of this object in one array, 和另一个中的值

php - 如何按值对多维数组进行排序?

java - 使用 OMATPE 进行带宽限制

java - 使用 SOAP Web 服务的消费者驱动契约(Contract)

java - Spring MVC - 将调度程序 url 模式设置为 "/"会导致 Controller 无法工作并出现 404 错误

C:关于struct中二维数组的初学者问题

php - simple_array 字段的 Doctrine 中的数组到字符串的转换

javascript - Jquery 排序结果不一致

linux - Bash - 对文件中的行进行排序