“贪心算法比动态规划好在哪”这个说法并不绝对——两者没有绝对的优劣,只有在特定问题、特定条件下,贪心算法可能更“好”。通常说的“好”,是指更简单、更快、更容易实现。
下面从几个角度说明:在适合的问题上,贪心算法相比动态规划的优势。
动态规划往往需要:
而贪心算法通常:
例子
O(n log n)动态规划需要:
贪心算法往往只是:
“每一步选当前看起来最优的”
例子
动态规划常需要:
dp 数组贪心通常:
贪心算法可以:
动态规划通常:
贪心成立的前提是:
问题具有 贪心选择性质 + 最优子结构
否则:
反例
贪心算法在“能用”的问题上,比动态规划更快、更简单、更省空间;但在“不能用”的问题上,它直接错误。
如果你愿意,我可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。