码迷,mamicode.com
首页 > 其他好文 > 详细

最长公共子序列

时间:2014-07-19 23:38:20      阅读:402      评论:0      收藏:0      [点我收藏+]

标签:算法

  1. [cpp] view plaincopy
    
        #include <stdio.h>  
        #include <string.h>  
        #include <algorithm>  
        using namespace std;  
          
        char s1[1000],s2[1000];  
        int len1,len2,dp[1000][1000],mark[1000][1000];//如果数据太大,dp数组可以考虑滚动数组  
          
        void LCS()  
        {  
            int i,j;  
            memset(dp,0,sizeof(dp));  
            for(i = 0;i<=len1;i++)  
            mark[i][0] = 1;  
            for(i = 0;i<=len2;i++)  
            mark[0][i] = -1;  
            for(i = 1; i<=len1; i++)  
            {  
                for(j = 1; j<=len2; j++)  
                {  
                    if(s1[i-1]==s2[j-1])  
                    {  
                        dp[i][j] = dp[i-1][j-1]+1;  
                        mark[i][j] = 0;  
                    }  
                    else if(dp[i-1][j]>=dp[i][j-1])  
                    {  
                        dp[i][j] = dp[i-1][j];  
                        mark[i][j] = 1;  
                    }  
                    else  
                    {  
                        dp[i][j] = dp[i][j-1];  
                        mark[i][j] = -1;  
                    }  
                }  
            }  
        }  
          
        void PrintLCS(int i,int j)  
        {  
            if(!i && !j)  
            return ;  
            if(mark[i][j]==0)//公共的  
            {  
                PrintLCS(i-1,j-1);  
                printf("%c",s1[i-1]);  
            }  
            else if(mark[i][j]==1)  
            {  
                PrintLCS(i-1,j);  
                printf("%c",s1[i-1]);  
            }  
            else  
            {  
                PrintLCS(i,j-1);  
                printf("%c",s2[j-1]);  
            }  
        }  


最长公共子序列

标签:算法

原文地址:http://blog.csdn.net/chaoyueziji123/article/details/37964891

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!