实验5--最长公共子序列 JAVA

时间:2011-03-22 13:58:23
【文件属性】:

文件名称:实验5--最长公共子序列 JAVA

文件大小:1KB

文件格式:JAVA

更新时间:2011-03-22 13:58:23

最长公共子序列

1. 掌握动态规划法的设计思想并能熟练运用
2. 强化动手编程的能力
二. 实验内容
用动态规划法求两个序列的最大公共子序列
三. 算法思想
1. 分析可得如下动态规划函数:
① L[0][0]=L[i][0]=L[0][j]=0 (1<=i<=m,1<=j<=n)
②L[i][j]=L[i-1][j-1]+1 (Xi=Yi,I>1,j>1);或者max{L[i][j-1],L[i-1][j]} (Xi!=Yi,i>1,j>1)
2.由此函数,把序列X={x1,x2….xm}和Y={y1,y2…ym}的最长公共子序列的搜索分为M个阶段,第1阶段,按照式1计算X1和Yj的最长公共子序列长度L[1][j](1<=j<=n),第2阶段,按照2式计算X2和Yj的最长公共子序列长度L[2][j](1<=j<=n),以此类推,最后在第M阶段,计算Xm和Yj的最长公共子序列长度L[m][j] (1<=j<=n),则L[m][n]就是序列Xm和Yn的最长公共子序列的长度。


网友评论

  • 可以运行,真的很棒!
  • 可以用的,很不错
  • 编译可以通过但是逻辑有错误
  • 跟算法树上的有点区别,但是改一下就能用了
  • 编译可以通过~
  • 有了很大提示,不错不错,可以借鉴
  • 感觉很不错哦,编译可以通
  • 感觉很不错哦,可以通过
  • 不错,对我帮助很大
  • 可以运行,还不错,真有帮助。
  • 编译通过!谢谢分享~有一定帮助!
  • 好的。可以通过,就是没有注释。
  • 不错的资源,编译可以通过~