最长公共子序列算法问题JAVA源代码免费下

最长公共子序列算法问题JAVA源代码免费下

ID:38225281

大小:39.50 KB

页数:5页

时间:2019-05-26

最长公共子序列算法问题JAVA源代码免费下_第1页
最长公共子序列算法问题JAVA源代码免费下_第2页
最长公共子序列算法问题JAVA源代码免费下_第3页
最长公共子序列算法问题JAVA源代码免费下_第4页
最长公共子序列算法问题JAVA源代码免费下_第5页
资源描述:

《最长公共子序列算法问题JAVA源代码免费下》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.util.ArrayList;importjava.util.Scanner;importjava.util.List;/***动态规划法解最长公共子系列。*@author蓝冠恒*/publicclassLCS{publicstaticListresultList=newArrayList();/***计算最优值*@paramx

2、*字符系列数组*@paramy*字符系列数组*@paramc*存储x和y最长公共子系列长度数组*@paramb*记录c中元素对应子问题的解的数组*/publicstaticvoidlcsLength(charx[],chary[],int[][]c,int[][]b){intm=x.length-1;intn=y.length-1;resultList.clear();for(inti=1;i<=m;i++){c[i][0]=0;}for(inti=1;i<=n;i++){c[0][i]=0;}for(inti=1;i<=m;i++){for(intj=1;j<=

3、n;j++){if(x[i]==y[j]){c[i][j]=c[i-1][j-1]+1;b[i][j]=1;}elseif(c[i-1][j]>=c[i][j-1]){c[i][j]=c[i-1][j];b[i][j]=2;}else{c[i][j]=c[i][j-1];b[i][j]=3;}}}}publicstaticvoidlcs(inti,intj,charx[],int[][]b){if(i==0

4、

5、j==0){return;}if(b[i][j]==1){lcs(i-1,j-1,x,b);resultList.add(x[i]);}elseif(b[i

6、][j]==2){lcs(i-1,j,x,b);}else{lcs(i,j-1,x,b);}}publicstaticvoidmain(Stringarg[]){Stringa;Stringinput;char[]x;char[]y;Scannerscan=newScanner(System.in);BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));do{try{do{System.out.println("请输入第一串字符系列");input=in.readLine().tri

7、m();}while(input.equals(""));input="S"+input;x=input.toCharArray();do{System.out.println("请输入第二串字符系列");input=in.readLine().trim();}while(input.equals(""));input="S"+input;y=input.toCharArray();int[][]b=newint[x.length][y.length];int[][]c=newint[x.length][y.length];lcsLength(x,y,c,b);/

8、/计算最优值lcs(x.length-1,y.length-1,x,b);//构造最长公共子系列intsize=resultList.size();System.out.print("最长公共子系列为:");for(inti=0;i

9、);}while(a.equals("y"));}}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。