【发布时间】:2014-11-15 17:24:18
【问题描述】:
目前,我指的是在麻省理工学院 OpenCourseWare 的以下视频教程中找到一维数组中的峰值的解释。
https://www.youtube.com/watch?v=HtSuA80QTyo
递归关系:T(n)=T(n/2) + O(1) 只强调数组的一半加上它会导致一个峰值作为输出。如果说确实存在多个峰值,那么递归关系可能是什么。
请有人解释一下这个查询。
提前致谢!
【问题讨论】:
-
@user2190060 不错的视频,但只看了一半就几乎睡着了...如果您想扩展算法以检测所有峰值而不仅仅是一个,那么您必须使用不同的算法所以你不能使用单峰算法的递归。顺便说一句,用于检测所有峰值我认为没有比 O(n) 更好的解决方案,除非知道有关输入数据的更多信息(例如最小峰值距离 ...)