在未排序列表中查找元素的最有效方法是什么?

时间:2011-02-09 03:54:14

标签: algorithm computer-science

给定数组中未排序的列表,是否必须至少需要线性时间才能找到小于x的元素数?如果是这样,为什么?

3 个答案:

答案 0 :(得分:3)

是的,您需要至少检查一次每个数字,以了解它是否小于指定的阈值。如果数字没有排序,那么你无法推断它们。

答案 1 :(得分:0)

是的,您至少需要线性时间。没有检查它就无法知道元素是否小于x,所以你必须检查每个元素一次。

如果您先对其进行排序,那么只要元素大于x,就可以停止。

答案 2 :(得分:0)

如果您允许无限数量的处理器,您可以在接近恒定的时间内解决问题,假设连接结果很快:只需将数组拆分为固定大小的块,并在单独的处理器上处理每个块。 / p>

如果我们谈论单个处理器,我会说你需要线性时间:

  • 你需要检查每个元素,如果它符合谓词,就把它放在结果中。
  • 排序或类似方法无济于事,因为您必须至少检查一次每个元素。