首页资源分类其它科学普及 > 针对算法分析与设计的最长公共子序列的算法改进

针对算法分析与设计的最长公共子序列的算法改进

已有 445005个资源

下载专区

上传者其他资源

文档信息举报收藏

标    签:最长公共子序列

分    享:

文档简介

针对算法分析与设计的最长公共子序列的算法改进

文档预览

#include #include #include using namespace std; #define max 100 int c[max][max]; ifstream fin("LCSIN.txt"); ofstream fout("LCSOUT.txt"); int total=0; void LCSLength( int m , int n , char *x , char *y ) { int i , j ; memset(c,0,sizeof(c));//数组c初始化为0; for( i = 1 ; i <= m ; i++ ) { for( j = 1 ; j <= n ; j++ ) { if( x[i-1] == y[j-1] ) { c[i][j] = c[i-1][j-1] + 1; } else if( c[i-1][j] >= c[i][j-1] ) { c[i][j] = c[i-1][j]; } else { c[i][j] = c[i][j-1]; } } } } void LCS( int i , int j , char *x , int c[max][max] ) { if( i == 0 || j == 0 ) return; if(c[i][j] == c[i-1][j-1] + 1 ) { LCS( i - 1 , j - 1 , x , c ); fout<= c[i][j-1] ) { LCS( i - 1 , j , x , c ); } else { LCS( i , j - 1 , x ,c); } } int main() { char x[max]; // = { 'a' , 'b' , 'c' , 'b' , 'd' , 'a' , 'b' }; char y[max]; // = { 'b' , 'd' , 'c' , 'a' , 'b' , 'a' }; fin>>x>>y; int m,n; m = strlen(x); n = strlen(y); char b[max]; memset(b,'0',sizeof(b)); LCSLength( m , n , x , y ); LCS( m , n , x , c ); cout<

Top_arrow
回到顶部
EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高员外,我们会尽快处理。