第3讲动态的规划.pptVIP

  • 3
  • 0
  • 约1.15万字
  • 约 45页
  • 2021-03-02 发布于天津
  • 举报
常用算法与程序设计 31 3.5.2 最长公共子序列 【例 6.7 】 给定两个序列 ? ? m x x x X , , , 2 1 ? ? 和 ? ? n y y y Y , , , 2 1 ? ? ,找出 序列 X 和 Y 的最长公共子序列。 求序列 X 与 Y 的最长公共子序列可以使用穷举法:列出 X 的所 有子序列,检查 X 的每一个子序列是否也是 Y 的子序列,并记录其 中公共子序列的长度, 通过比较最终求得 X 与 Y 的最长公共子序列。 对 于 一 个长 度为 m 的序 列 X , 其 每一 个子 序 列对 应 于下 标集 {1,2, … ,m} 的一个子集,即 X 的子序列数目多达 2 m 个。由此可见应 用穷举法求解是指数时间的。 最长公共子序列问题具有最优子结构性质,应用动态规划设计 求解。 常用算法与程序设计 32 (1 ) 建立递推关系 设序列 ? ? m x x x X , , , 2 1 ? ? 和 ? ? n y y y Y , , , 2 1 ? ? 的最长公共子序列为 ? ? k z z z Z , , , 2 1 ? ? , ? ? m i i x x x , , , 1 ? ? 与 ? ? n j j y y y , , , 1 ? ? (i=0,1, … ,m;j=0,1, … ,n) 的最长公

文档评论(0)

1亿VIP精品文档

相关文档