标签: algorithm big-o
在此MIT lecture中描述并在此SO question中写出的算法用于在 1d数组中查找 a 峰值是有意义的。
对 O(log n)的分析也是如此; 我们将数组分成两半
如何更新它以在阵列中找到所有峰值?这种复杂性会是什么?
答案 0 :(得分:3)
为了找到所有峰值,除了通过整个数组并将每个元素与其邻居进行比较之外,你不能做得更好。没有办法判断你没有看到的元素是否是峰值,所以你必须看看所有这些元素。
因此,n个元素的时间复杂度为O(n)。