在一维阵列中寻找多个峰值

时间:2017-04-20 16:46:23

标签: algorithm big-o

在此MIT lecture中描述并在此SO question中写出的算法用于在 1d数组中查找 a 峰值是有意义的。

O(log n)的分析也是如此; 我们将数组分成两半

如何更新它以在阵列中找到所有峰值?这种复杂性会是什么?

1 个答案:

答案 0 :(得分:3)

为了找到所有峰值,除了通过整个数组并将每个元素与其邻居进行比较之外,你不能做得更好。没有办法判断你没有看到的元素是否是峰值,所以你必须看看所有这些元素。

因此,n个元素的时间复杂度为O(n)。