K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
动态规划是解决具有重叠子问题、最优子结构特征问题的经典算法,其在C++中的实现主要分为自顶向下和自底向上两类。
自顶向下的动态规划实现又被称为递推法,通常通过迭代从最小子问题逐步向上求解到原问题
自底向上的动态规划实现必须依赖递归函数,才能按照正确顺序完成子问题的计算
记忆化搜索属于自顶向下的动态规划实现,通过缓存已计算的子问题结果避免重复计算
无论是自顶向下还是自底向上实现,都无法避免对同一个子问题进行多次重复计算