算法设计与分析(作业二).docVIP

  • 17
  • 0
  • 约1.84千字
  • 约 4页
  • 2020-11-29 发布于浙江
  • 举报
算法设计与分析 实验报告 学 院 信息科学与技术学院 专业班级 软件工程3班 学 号 姓 名 王建君 指导教师 尹治本 2014年10月 实验三 最长公共子序列生成算法 一、问题提出 使用动态规划算法解决最长公共子序列问题:给定两个序列 X={x1,x2,…,xm}和Y={y1,y2,…,yn},找出X和Y的最长公共子序列,并求解公共子序列的长度。 求解思路 以两个序列的最长公共子序列的长度为最优值,利用动态规划法,引入二维数组C[i,j]记录Xi?=??xl,x2?,?…?,?xi和Yj?=二?y1?y2?,?,…,?yj?的最长公共子序列的长度。根据子问题最优值的递归关系,可自底向上建立递推关系如下: 算法复杂度 算法通过C数组的标识, 构造了一棵以结点(m,n)为根的单分支树, 退化成一线性序列,最长公共序列的求取正好是该序列的遍历,对于求两个序列的一个最长公共子序列, 该算法时间复杂性为O(m*n)。 实验源代码 #include iostream #include string #includestdlib.h using namespace std; #defi

文档评论(0)

1亿VIP精品文档

相关文档