最长公共子序列

✍ dations ◷ 2025-11-26 22:26:34 #算法,动态规划,组合数学,多项式时间问题,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

相关

  • BkOsub2/sub二氧化锫是锫已知的两种氧化物之一,化学式为BkO2。它是浅棕黄色至棕褐色固体,属正交晶系(萤石结构),晶胞参数a=5.334±0.005。它可由三氧化二锫在空气中加热至600°C得到。
  • 质子溶剂在化学中,质子溶剂指分子中带有羟基或氨基的溶剂。更加笼统的说,任何可以给出H+的溶剂都可以被叫做质子化溶剂,例如氢氟酸。非质子溶剂则与此相反,不能贡献氢离子。质子溶剂的常
  • 沃拉里沃拉里是捷克的城镇,位于该国西南部,距离普拉哈季采16公里,由南摩拉维亚州负责管辖,面积107.63平方公里,海拔高度760米,2005年人口4,083。
  • 大稻埕变电所大稻埕变电所,亦称为建成变电所,为台北市大同区的一处变电所,原为台湾电力株式会社于1930年代兴建的二次变电所,建筑外观位西北侧的转角处以台湾电力株式会社的社徽作为装饰;其在
  • 沈鹏沈鹏(1931年9月-),斋名介居,号介居主,江苏江阴人,中国现代编辑出版专家,书法家、美术评论家及诗人。现任中国书法家协会终身名誉主席。幼习诗、书、画,入大学攻读文学,后转攻新闻。历
  • 基沙普基萨普县(英语:Kitsap County)是位于美国华盛顿州基萨普半岛北部、普吉特湾西岸的一个县。根据美国2010年人口普查,共有人口251,133人。县治奥查德港,最大城市布雷默顿。该县于于
  • 生物地球化学循环生物地质化学循环(英语:,又称作生态系统的物质循环)在生态学上指的是化学元素或分子在生态系统中划分的生物群落和无机环境之间相互循环的过程。这使得相关的元素得以循环,虽然实
  • 硫酸铋硫酸铋是一种无机化合物,化学式为Bi2(SO4)3。硫酸铋可由金属铋、氧化铋或氢氧化铋与浓硫酸反应得到。硫酸铋遇水产生碱式盐沉淀。
  • 蒂比·海德伦蒂比·海德伦(英语:Tippi Hedren,1930年1月29日-),美国演员。蒂比·海德伦出生在美国明尼苏达州新鸟姆(New Ulm),可能是在1935年。2004年,蒂比·海德伦证实她出生于1930年。1963年,蒂比
  • 中国野菰中国野菰(学名:)是列当科野菰属的全寄生植物。主要分布于华南、日本。日本称本种植物为大南蛮烟管(オオナンバンギセル)或山南蛮烟管(ヤマナンバンギセル)。植株高15厘米至30厘米,全