LCS 算法之C++实现

原创 2005年05月25日 02:05:00

    #include<iostream>
using namespace std;

char* LCS(char* left,char* right);

int main(){
 char *left,*right;
 left = new char[1024];
 right = new char[1024];
 cout << "please input the first string:";
 cin >> left;
 cout << "please input the second string:";
 cin >> right;
 cout << "最长公共子串是:";
 cout << LCS(left,right)<<endl;
 return 0;
}

char* LCS(char*left,char* right){
 int lenLeft,lenRight;
 lenLeft = strlen(left);
 lenRight = strlen(right);
 int *c = new int[lenRight];
 int start,end,len;
 end = len = 0;
 for(int i = 0; i < lenLeft; i++){
  for(int j = lenRight-1; j >= 0; j--){
   if(left[i] == right[j]){
    if(i == 0 || j == 0)
     c[j] = 1;
    else
     c[j] = c[j-1]+1;
   }
   else
    c[j] = 0;
   if(c[j] > len){
    len = c[j];
    end = j;
   }
  }
 }
 char *p = new char[len+1];
 start = end - len + 1;
 for(i = start; i <= end; i++)
  p[i - start] = right[i];
 p[len] = '/0';
 return p;
}

C++实现——LCS-最大公共子串长度

//求两个字符串的最长公共子串的长度(子串不一定是原串中的连续子串组成) //LCS //使用动态规划 #include #include #include using namespace s...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

LCS算法的C++实现

最长公共子序列LCS的C++实现

算法学习 - 最长公共子序列(LCS)C++实现

最长公共子序列最长公共子序列的问题很简单,就是在两个字符串中找到最长的子序列,这里明确两个含义: 子串:表示连续的一串字符 。 子序列:表示不连续的一串字符。 所以这里要查找的是...

动态规划算法解最长公共子序列LCS问题

动态规划算法解LCS问题 动态规划一般也只能应用于有最优子结构的问题。最优子结构的意思是局部最优解能决定全局最优解(对有些问题这个要求并不能完全满足,故有时需要引入一...
  • rrrfff
  • rrrfff
  • 2012年04月30日 07:59
  • 35165

LCS算法

刚刚开始看这个算法,真的不是很懂,不过看了一个牛牛的博客,http://blog.csdn.net/v_july_v/article/details/6695482,觉得写得挺好,可以看看。 ...

LCS算法分析

动态规划思想        经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子    问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规...

LCS LIS LCIS 算法

(这么久了,才开始写题解,我也是够懒) 先是LCS(最长公共子序列),例题么(COGS 476,我知道这个很水),先来划分阶段:A中前i个字符,B中前J个字符。然后是状态:定义:f[i][j]为A中前...

LCS 最大公共序列算法

这些天在了解chrome的courgette,  了解了rsync算法,  也了解了courgette使用了bsdiff 算法,  然后知道了bsdiff算法里主要使用的是 LCS 算法, 这里参考了...
  • dylgsy
  • dylgsy
  • 2012年11月28日 19:00
  • 24098

最长公共子序列算法(LCS)

(1)最长公共子序列问题可以使用动态规划来有效的解决。 (2)算法实现是参考《算法导论》中的动态规划一章     public static void main(String args[])...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LCS 算法之C++实现
举报原因:
原因补充:

(最多只允许输入30个字)