| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 431 人关注过本帖
标题:最长公共子序列
取消只看楼主 加入收藏
欣飞飞
Rank: 1
等 级:新手上路
帖 子:20
专家分:1
注 册:2013-10-6
结帖率:100%
收藏
 问题点数:0 回复次数:0 
最长公共子序列
谁能跟我说说LCS的思想啊!!我只知道dp公式
int LCS(char a[],char b[])
{
 int i,j,len1,len2;
 len1=(int)strlen(a);
 len2=(int)strlen(b);
 for(i=1;i<=len1;i++)
  for(j=1;j<=len2;j++)
  {
   if(a[i-1]==b[j-1])
    f[i][j]=f[i-1][j-1]+1;  
   else
    f[i][j]=max(f[i-1][j],f[i][j-1]);
  }
 return f[len1][len2];
}
看上去有点稀里糊涂的!!
f[i][j]=f[i-1][j-1]+1;  
 f[i][j]=max(f[i-1][j],f[i][j-1]);
只需这两句个我解释一下就可以了,主要是为什么要这样我不清楚!!
2014-04-12 15:52
快速回复:最长公共子序列
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022103 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved