Algorithm 峰值查找算法究竟是如何工作的?
我来自这里: 我还从麻省理工开放式课程频道观看了youtube 根据我的理解,算法是找到一个局部峰值 帖子的顶部评论说,峰值不一定是全球最大值……但全球最大值不是峰值吗?这不是真的吗 如果我从这个算法开始,那么初始的中间元素决定了峰值的找到方式。另一侧(本地或全局)的任何峰值都将被忽略 讲座中还提到,“如果它存在”。这是什么意思?它如何依赖于>=符号Algorithm 峰值查找算法究竟是如何工作的?,algorithm,time-complexity,Algorithm,Time Complexity,我来自这里: 我还从麻省理工开放式课程频道观看了youtube 根据我的理解,算法是找到一个局部峰值 帖子的顶部评论说,峰值不一定是全球最大值……但全球最大值不是峰值吗?这不是真的吗 如果我从这个算法开始,那么初始的中间元素决定了峰值的找到方式。另一侧(本地或全局)的任何峰值都将被忽略 讲座中还提到,“如果它存在”。这是什么意思?它如何依赖于>=符号 附言:指出我哪里错了。算法不保证找到最大元素,只是一个峰值,它是一个大于两个相邻元素的元素,因此: 全球最大值不是一个峰值吗?这不是真的吗 你是对
附言:指出我哪里错了。算法不保证找到最大元素,只是一个峰值,它是一个大于两个相邻元素的元素,因此: 全球最大值不是一个峰值吗?这不是真的吗 你是对的,全局最大值是一个峰值,但反过来并不总是正确的 初始中间元素决定找到峰值的方式
同样,你是对的,但这正是算法所做的,它承诺找到一个峰值,而不是最大值。如果您想要最大值,请迭代所有峰值并找到最大值。该算法不保证找到最大元素,只是一个峰值,它是一个大于两个相邻元素的元素,因此: 全球最大值不是一个峰值吗?这不是真的吗 你是对的,全局最大值是一个峰值,但反过来并不总是正确的 初始中间元素决定找到峰值的方式 同样,你是对的,但这正是算法所做的,它承诺找到一个峰值,而不是最大值。如果你想要最大值,迭代所有峰值并找到最大值 帖子的顶部评论说,峰值不一定是全球最大值……但全球最大值不是峰值吗?这不是真的吗 局部极大值不一定是全局极大值,而全局极大值是局部极大值之一。我在一次面试中确实遇到过这个问题,我的面试官通过画一张图表来帮助我理解这个概念 这里可以看到局部最大值是如何也是全局最大值的,但是还有其他局部峰值不是全局最大值 如果我从这个算法开始,那么初始的中间元素决定了峰值的找到方式。另一侧(本地或全局)的任何峰值都将被忽略 这是正确的,该算法只找到一个局部最大值。其他的都被忽略了 如果你想找到所有的局部极大值,然后决定哪一个是全局极大值,你必须遍历并查看每个元素,这将成为数组中一个更为琐碎的
O(n)
遍历
帖子的顶部评论说,峰值不一定是全球最大值……但全球最大值不是峰值吗?这不是真的吗
局部极大值不一定是全局极大值,而全局极大值是局部极大值之一。我在一次面试中确实遇到过这个问题,我的面试官通过画一张图表来帮助我理解这个概念
这里可以看到局部最大值是如何也是全局最大值的,但是还有其他局部峰值不是全局最大值
如果我从这个算法开始,那么初始的中间元素决定了峰值的找到方式。另一侧(本地或全局)的任何峰值都将被忽略
这是正确的,该算法只找到一个局部最大值。其他的都被忽略了
如果你想找到所有的局部极大值,然后决定哪一个是全局极大值,你必须遍历并查看每个元素,然后它就变成一个更简单的
O(n)
遍历数组。既然您在采访中了解到了这一点,我想您可以与我们分享这种算法的一些实际应用。你愿意吗?。谢谢你的回答:)既然你在一次采访中得到了这个答案,我想你可以和我们分享一下这种算法的一些实际应用。你愿意吗?。谢谢你的回答:)