最长公共子序列

✍ dations ◷ 2025-11-15 17:23:36 #算法,动态规划,组合数学,多项式时间问题,NP完全问题

最长公共子序列(LCS)是一个在一个序列集合中(通常为两个序列)用来查找所有序列中最长子序列的问题。这与查找最长公共子串的问题不同的地方是:子序列不需要在原序列中占用连续的位置 。最长公共子序列问题是一个经典的计算机科学问题,也是数据比较(英语:data comparison)程序,比如Diff工具,和生物信息学应用的基础。它也被广泛地应用在版本控制,比如Git用来调和文件之间的改变。

一个数列 S {\displaystyle S} ,如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则 S {\displaystyle S} 称为已知序列的最长公共子序列。

对于一般性的LCS问题(即任意数量的序列)是属于NP-hard。但当序列的数量确定时,问题可以使用动态规划(Dynamic Programming)在多项式时间内解决。

最长公共子序列问题存在最优子结构:这个问题可以分解成更小,更简单的“子问题”,这个子问题可以分成更多的子问题,因此整个问题就变得简单了。最长公共子序列问题的子问题的解是可以重复使用的,也就是说,更高级别的子问题通常会重用低级子问题的解。拥有这个两个属性的问题可以使用动态规划算法来解决,这样子问题的解就可以被储存起来,而不用重复计算。这个过程需要在一个表中储存同一级别的子问题的解,因此这个解可以被更高级的子问题使用。

动态规划的一个计算最长公共子序列的方法如下,以两个序列 X {\displaystyle X} Y {\displaystyle Y} 为例子:

设有二维数组 f {\displaystyle f} 表示 X {\displaystyle X} i {\displaystyle i} 位和 Y {\displaystyle Y} j {\displaystyle j} 位之前的最长公共子序列的长度,则有:

其中, s a m e ( a , b ) {\displaystyle same(a,b)} X {\displaystyle X} 的第 a {\displaystyle a} 位与 Y {\displaystyle Y} 的第 b {\displaystyle b} 位完全相同时为“1”,否则为“0”。

此时, f {\displaystyle f} 中最大的数便是 X {\displaystyle X} Y {\displaystyle Y} 的最长公共子序列的长度,依据该数组回溯,便可找出最长公共子序列。

该算法的空间、时间复杂度均为 O ( n 2 ) {\displaystyle O(n^{2})} ,经过优化后,空间复杂度可为 O ( n ) {\displaystyle O(n)}


下面算法计算了所有子问题的最长公共子序列长度C

相关

  • 抗炎药抗炎性(英语:Anti-inflammatory)指物质或治疗能减少炎症的特性。消炎药占约止痛药的一半。消炎药以消炎作用来减少疼痛,与鸦片类药物不同,后者影响中枢神经系统以阻断疼痛讯号传
  • 4-氨基水杨酸4-氨基水杨酸(英语:4-Aminosalicylic acid,又名对氨基水杨酸、氨基水杨酸或PAS)是一种用于治疗结核病的抗菌药。 它也被用于治疗炎症性肠病。 它通过抑制NF-κB及清除自由基而发
  • 后劲溪后劲溪是位在台湾高雄市的河川,长13公里,流经楠梓区、仁武区、大社区等地,为高雄地区1,600多公顷的农田的灌溉水源。因后劲(今属楠梓区)聚落得名。凤山县采访册记载:“后劲溪,在仁
  • 元代元代音系,是指元代时期中原汉语的音韵体系,属于近代汉语。对于元代中原音系的构拟,学术界主要是根据周德清的《中原音韵》以及卓从之的《中州音韵》等韵书。《中原音韵》成书于
  • 鞍山鞍山市是中华人民共和国辽宁省下辖的地级市,位于辽宁省中南部,是国务院批准的具有地方立法权的较大的市,是中国境内重要的钢铁基地,有钢都之称。鞍山市地处辽宁省中部,地理位置是
  • 杨立伟杨立伟(1974年1月3日-),现任国立台湾大学工商管理学系暨商学研究所助理教授,也是台湾企业家,为意蓝科技创办人,意蓝资讯与龙卷风科技董事总经理。杨立伟从小钻研编程语言,国小五年级
  • 雨宫健雨宫健(日语:雨宮 健/あめみや たけし  ?,1935年3月29日-),是日本知名经济学家,专长为计量经济学,现任史丹佛大学名誉教授。计量经济学会 Fellow、美国统计协会会员、美国文理科学
  • 施温格效应施温格效应(Schwinger effect),施温格机制(Schwinger mechanism),或称为施温格电子对生成(Schwinger pair production),是描述物质由强电场产生的物理现象预测。在量子电动力学中,其预
  • AIR音乐作品列表《AIR》是隶属于Visual Art's的Key公司在2000年时所推出的一款视觉小说,故事内容为旅人国崎往人在暑假期间到达了一处宁静的海边小镇,而他已经逝世的母亲告诉他要不断尝试寻找
  • 天主教加利福尼亚的圣罗莎教区天主教加利福尼亚的圣罗莎教区(拉丁语:Dioecesis Sanctae Rosae in California、英语:Roman Catholic Diocese of Santa Rosa in California)是美国一个罗马天主教教区。属旧金