最长公共子序列(LCS)问题

原创 2012年03月26日 20:14:05

         最长公共子序列也称作最长公共子串,英文缩写是LCS(Longest Common Subsequence)。其定义是:一个序列S,如果分别是两个或多个已知序列的子序列,且是符合此条件的子序列中最长的,则称S为已知序列的最长公共子序列。

        关于子序列的定义通常有两种方式,一种是对子序列没有连续的要求,其子序列的定义就是原序列中删除若干元素后得到的序列。另一种是对子序列有连续的要求,其子序列的定义是原序列中连续出现的若干个元素组成的序列。求解子序列是非连续的最长公共子序列问题是一个十分实用的问题,它可以描述两段文字之间的“相似度”,即它们的雷同程度,从而能够用来辨别抄袭。


有两篇博客对这个问题的算法做了很好的分析

一、这篇博客讲得浅显易懂

非连续:http://blog.csdn.net/orbit/article/details/6717125

连续:http://blog.csdn.net/orbit/article/details/6850706

二、这篇博客讲得很专业

http://www.cppblog.com/superKiki/archive/2010/05/08/114836.html

相关文章推荐

最长公共子序列 LCS

  • 2012年12月07日 15:09
  • 1KB
  • 下载

最长公共子序列LCS

  • 2008年07月25日 16:08
  • 30KB
  • 下载

最长公共子序列(LCS)问题分析

最长公共子序列(LCS)网上的资料很多,而且也可以算是动态规划里面的一个基本问题,它体现了许多动态规划的特性,算法导论这本书也给出了很详细的说明。 要写好动态规划其实还是有些难度,网上也很多相关的资料...

算法-最长公共子序列-LCS

  • 2008年12月19日 17:23
  • 67KB
  • 下载

求最长公共子序列的LCS算法

  • 2008年12月26日 21:18
  • 2KB
  • 下载

动态规划解最长公共子序列问题(LCS)C语言加注释

【问题】 求两字符序列的最长公共字符子序列 问题描述:字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列。令给定的字符序列X=“x0,x1,...

LCS最长公共子序列算法

  • 2012年09月19日 21:59
  • 456KB
  • 下载

0011算法笔记——【动态规划】最长公共子序列问题(LCS)

问题描述:一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说,若给定序列X= { x1, x2,…, xm},则另一序列Z= {z1, z2,…, zk}是X的子序列是指存在一...

LCS 最长公共子序列 JAVA

  • 2010年06月27日 10:10
  • 614B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:最长公共子序列(LCS)问题
举报原因:
原因补充:

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