第5课贪心与动态规划.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5课贪心与动态规划

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ?有了这些结果,再向后计算,有: 路径顺序是:2,3,4,1 路径顺序是:3,2,4,1 路径顺序是:4,3,2,1 最后: 路径顺序是:1,2,3,4,1     3 动态规划 ?求解过程示意图     3 动态规划 ?算法分析 令Ni 是计算从顶点i 出发,返回顶点i 所需计算的形式为 的个数。 开始计算 时,集合V-{i}中有n-1 个城市。 以后,在计算 时,集合 的城市数目,在不同的决策阶段,分别为n-2 ,…,0。     3 动态规划 在整个计算中,需要计算大小j为 的不同城市集合的个数为 ,j=0,1,2,…,n-1 。因此,总个数为: 当 集合中的城市个数为j 时,为计算 ,需j 次加法,j-1 次比较。从i 城市出发,经其它城市再回到 i,总的运算时间 为Ti:     3 动态规划 ?由二项式定理: 令 x=y=1 ;可得: 则用动态规划方法求解旅行售货商问题,总的花费T为:     3 动态规划 □ 递推特征的动态规划 【例8】最长公共子序列问题。  ? 问题描述 若给定序列X={x1,x2,…,xm},则另一序列Z={z1,z2,…,zk},是X的子序列是指存在一个严格递增下标序列{i1,i2,…,ik}使得对于所有j=1,2,…,k有:zj=xij。例如,序列Z={B,C,D,B}是序列X={A,B,C,B,D,A,B}的子序列,相应的递增下标序列为{2,3,5,7}。   3 动态规划 ? 给定2个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。 给定2个序列X={x1,x2,…,xm}和Y={y1,y2,…,yn},找出X和Y的最长公共子序列。   3 动态规划 ? 问题分析-最长公共子序列的结构 设序列X={x1,x2,…,xm}和Y={y1,y2,…,yn}的最长公共子序列为Z={z1,z2,…,zk} ,则 (1)若xm=yn,则zk=xm=yn,且zk-1是xm-1和yn-1的最长公共子序列。 (2)若xm≠yn且zk≠xm,则Z是xm-1和Y的最长公共子序列。 (3)若xm≠yn且zk≠yn,则Z是X和yn-1的最长公共子序列。     3 动态规划 ? 由此可见,2个序列的最长公共子序列包含了这2个序列的前缀的最长公共子序列。因此,最长公共子序列问题具有最优子结构性质。 ? 由最长公共子序列问题的最优子结构性质建立子问题最优值的递归关系。 ? 由于在所考虑的子问题空间中,总共有θ(mn)个不同的子问题,因此,用动态规划算法自底向上地计算最优值能提高算法的效率。     3 动态规划 ? 动态规划函数 由最优子结构性质可建立递归关系如下:     3 动态规划 ? 算法1-最长公共子系列的递归算法 int Num=100 char??a[Num],b[Num],str[Num]; main( ) { int m,n,k; print?(“Enter??two??string”); ???? input(a,b); m=strlen(a); n=strlen(b), ?k=lcs_len(n,m); //k为公共子序列的长度 ???     3 动态规划 ??? buile_lcs (k, n,m); print(str); } ? lcs_len(int?i,j) //计算最优值 { ?if ( i=0 or j=0) ????? ?c[i][j]=0; else if (a[i-1]=b[j-1])

文档评论(0)

tangzhaoxu123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档