本科算法设计与分析第四章复习总结

动态规划技术的基本要素、
分治技术的问题 –子问题是相互独立的 –如果子问题不是相互独立的,分治方法将重 复计算公共子问题,效率很低
CS&E • 提高效率的方法 – 从规模最小的子问题开始计算 – 用恰当数据结构存储子问题的解,供以后查询 – 确保每个子问题只求解一次
动态规划算法特点 – 把原始问题划分成一系列子问题 – 求解每个子问题仅一次,并将其结果保存在 一个表中,以后用到时直接存取,不重复计 算,节省计算时间 – 自底向上地计算

使用Dynamic Programming的条件 – Optimal substructure(优化子结构)
 • 当一个问题的优化解包含了子问题的优化解时, 我们说这个问题具有优化子结构。
  • 缩小子问题集合,只需那些优化问题中包含的子 问题,减低实现复杂性
   • 优化子结构使得我们能自下而上地完成求解过程 
   – Subteties(重叠子问题) • 在问题的求解过程中,很多子问题的解将被多次 使用 

动态规划算法的设计步骤
–分析优化解的结构
–递归地定义最优解的代价
–自底向上地计算优化解的代价保存之, 并获取构造最优解的信息
–根据构造最优解的信息构造优化解
子序列 –X=(A,B,C,B,D,B) –Z=(B,C,D,B)是X的子序例 –W=(B,D,A)不是X的子序例 顺序不同就不是
最优二叉搜索树
在这里插入图片描述
优化子结构 定理.如果优化二叉搜索树T具有包含关键字集合 {ki,ki+1,…,kj}的子树T’,则T’是关于关键字 集合{ki,ki+1,…,kj}的子问题的优化解.
证明:若不然,必有关键字集{ki,ki+1,…,kj}子树T’’
, T’’的期望搜索代价低于T’. 用T’’替换T中的T’,可以得到一个期望搜索代价 比T小的原始问题的二叉搜索树。 与T是最优解矛盾.
凸多边形的三角剖分
• 弦 多边形P上的任意两个不相邻结点vi 、 vi+1所对应的线段 vivi+1称为弦
三角剖分 一个多边形P的三角剖分是将P划分为不相交三角形的 弦的集合
与矩阵链乘法问题一致,把算法 Matrix-chain-Order Print-Optimal-Parens 略加修改即可计算t[i,j]并构造优化三角剖分解

以上为第四章内容,重点要看  动态规划算法的设计步骤
   –分析优化解的结构
   –递归地定义最优解的代价
    –自底向上地计算优化解的代价保存之, 并获取构造最优解的信息
    –根据构造最优解的信息构造优化解
子序列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值