gpt4 book ai didi

algorithm - 分而治之算法与动态规划的区别

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:11:26 29 4
gpt4 key购买 nike

分而治之算法和动态规划算法有什么区别?这两个术语有何不同?我不明白它们之间的区别。

请举一个简单的例子来解释两者之间的任何区别以及它们看起来相似的理由。

最佳答案

分而治之

分而治之的工作原理是将问题分成子问题,递归地解决每个子问题,然后组合这些解决方案。

动态编程

动态规划是一种解决具有重叠子问题的问题的技术。每个子问题只解决一次,每个子问题的结果存储在一个表中(通常实现为数组或哈希表)以备将来引用。这些子解决方案可用于获取原始解决方案,存储子问题解决方案的技术称为内存。

你可能会想到DP = recursion + re-use

了解差异的一个经典示例是查看这两种获取第 n 个斐波那契数的方法。检查这个material来自麻省理工学院。


分而治之的方法 Divide and Conquer approach

动态编程方法 enter image description here

关于algorithm - 分而治之算法与动态规划的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13538459/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com