Dynamic programming and memoization method differ in their approaches to solving optimization problems.
发布时间
阅读量:
阅读量
动态规划与备忘录方法的区别(矩阵连乘问题)
动态规划算法的核心特征:
1 最优子结构特性
若某一问题的最优解中包含其子问题的最优解,则该问题具备最优子结构特性。
2 重复子问题特性
动态规划算法针对每个问题仅进行一次求解,并将结果存储于表格中,当后续再次遇到相同问题时,可直接通过常数时间获取结果。因此,动态规划算法通常能够在多项式时间内完成计算。
备忘录方法:
• 利用表格记录已解决的子问题结果,在需要时直接查阅即可。
• 采用自顶向下的递归方式执行。
• 整体控制结构与直接递归方法保持一致,但备忘录方法为每一个已求解的子问题单独设立记录。
• 初始化时,所有子问题的状态均设置为特定值以表示尚未求解;在实际计算过程中,若发现对应记录为特殊值,则表明该子问题尚未被处理;反之则可直接提取其对应的解答结果。
备忘录方法与动态规划及递归方式之间的差异:
1、动态规划采用自底向上的处理方式,而备忘录方法和递归方式均采取自顶向下的策略。
2、动态规划对每个子问题均需进行一次计算,并避免重复处理相同的子问题;备忘录方法仅对确实需要求解的子问题进行计算;而递归方法则会对所有子问题进行重复计算,包括那些已被处理过的重复性子问题。
矩阵连乘的基本实现过程
//备忘录方法
/
全部评论 (0)
还没有任何评论哟~
