分治法与动态规划法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、动态规划法与分治法的区别:
1.共同点:
将待求解的问题分解成若干子问题,先求解子问题,然后再从这些子问题的解得到原问题的解。
2. 不同点:
○1、适合于用动态规划法求解的问题,分解得到的各子问题往往不是相互独立的;而分治法中子问题相互独立。
○2、动态规划法用表保存已求解过的子问题的解,再次碰到同样的子问题时不必重新求解,而只需查询答案,故可获得多项式级时间复杂度,效率较高;而分治法中对于每次出现的子问题均求解,导致同样的子问题被反复求解,故产生指数增长的时间复杂度,效率较低
二、动态规划法与贪心法的区别
1、共同点:
都要求问题具有最优子结构性质。
2、不同点:
○1求解方式不同:
动态规划法:自底向上;具有最优子结构性质的问题有些只能用动态规划法,有些可用贪心法。贪心法:自顶向下;
○2对子问题的依赖不同:
动态规划法:依赖于各子问题的解,所以应使各子问题最优,才能保证整体最优;贪心法:依赖于过去所作过的选择,但决不依赖于将来的选择,也不依赖于子问题的解。
三、本章小结
1、动态规划法:是一种求解最优化问题的算法设计策略;
用于处理不具备贪心准则的问题;用于解决分治法的子问题重叠现象;
2、动态规划法的两个基本要素:
最优子结构特性和重叠子问题
备忘录方法是动态规划法的一个变种,采用自顶向下直接递归的方式计算最优解,避免相同子问题的重复。