首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >求解问题的动态规划技术

求解问题的动态规划技术
EN

Stack Overflow用户
提问于 2020-07-03 19:23:51
回答 1查看 277关注 0票数 1

是否有可能使用recursion+memoization来解决任何动态规划问题,而不是使用表格/迭代?或者,在某些问题中必须使用表格/迭代。

在使用recursion+memoization解决任何问题时,我们也能获得同样的时间复杂度(我知道空间复杂度不同,也存在递归开销)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-03 19:32:19

每个动态规划问题都可以表示为递推关系,它可以用recursion+memoization来求解,可以转化为tabulation+iteration

当使用表格解决DP问题时,通常通过填充n维表来解决自下而上的问题()。然后根据表中的结果,计算出原问题的解。

当您使用回忆录解决一个DP问题时,您可以通过维护已经解决的子问题的地图来解决它。您这样做自上而下的,这意味着您首先解决了"top“问题(这通常是递归地解决子问题)。

使用tabulation+iteration的DP问题的时间复杂度与该解决方案的转换、等效和正确的memoization+recursion版本相同。在tabulation+iteration方法中,通常很容易找到时间复杂度。另一方面,memoization+recursion版本的DP解决方案更直观和可读性更强。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62721586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档