最长递增子序列

✍ dations ◷ 2025-11-09 14:31:05 #组合数学,动态规划

在计算机科学中,最长递增子序列(longest increasing subsequence)问题是指,在一个给定的数值序列中,找到一个子序列,使得这个子序列元素的数值依次递增,并且这个子序列的长度尽可能地大。最长递增子序列中的元素在原序列中不一定是连续的。许多与数学、算法、随机矩阵理论(英语:random matrix theory)、表示论相关的研究都会涉及最长递增子序列。解决最长递增子序列问题的算法最低要求O( log )的时间复杂度,这里表示输入序列的规模。

对于以下的原始序列

最长递增子序列为

值得注意的是原始序列的最长递增子序列并不一定唯一,对于该原始序列,实际上还有以下两个最长递增子序列

最长递增子序列问题与最长公共子序列问题密切相关,后者具有动态规划解决方案(时间复杂度为O):序列S的最长递增子序列是S和T的最长公共子序列,其中T是对S进行排序的结果。但对于特殊情况,输入是整数 1, 2, ..., , 的排列,解决方案可以进一步改进,从而使时间复杂度降为O( log ) 。

排列图(permutaion graph)中的最大团是由'定义该图的排列中最长的递减子序列'定义的, 求最长的递减子序列在计算复杂度上(通过对所有数取它的负数)等同于求最长的递增子序列。 因此,最长递增子序列算法可用于有效地解决排列图中的分团问题。

下面概述的算法使用数组和二分查找算法有效地解决了最长递增子序列问题。 它依次处理序列元素,保存当前找到的最长的递增子序列, 比如: ,X ]。在处理X之后,算法会将值存储在两个数组中:

另外,该算法还存储了一个变量L,该变量L表示到目前为止找到的最长的递增子序列的长度。 下面的算法使用基于零的编号,为了清楚起见,M用M 填充,而M 未使用,因此M 对应于长度j的子序列。 实际的实现可以跳过M 并相应地调整索引。

请注意,在算法的任何时候,序列

是递增的。 因为,如果长度的子序列以X ]结尾,则长度的子序列以较小的值结尾:即以X 结尾的子序列 ]。 因此,我们可以使用二分查找在时间内完成搜索。

伪代码如下:

P = array of length NM = array of length N + 1L = 0for i in range 0 to N-1:    // Binary search for the largest positive j ≤ L    // such that X] <= X    lo = 1    hi = L    while lo ≤ hi:        mid = ceil((lo+hi)/2)        if X] < X:            lo = mid+1        else:            hi = mid-1    // After searching, lo is 1 greater than the    // length of the longest prefix of X    newL = lo    // The predecessor of X is the last index of     // the subsequence of length newL-1    P = M    M = i        if newL > L:        // If we found a subsequence longer than any we've        // found yet, update L        L = newL// Reconstruct the longest increasing subsequenceS = array of length Lk = Mfor i in range L-1 to 0:    S = X    k = Preturn S

由于该算法对每个序列元素都执行二分查找,因此时间复杂度为O( log )。 弗雷德曼 Fredman (1975)讨论了该算法的一种变体,他将其归功于高德纳。 在他研究的变体中,该算法在进行二分查找之前,测试每个值X 是否可以在常数时间内扩展当前最长的递增序列。 通过这种修改,算法在最坏的情况下只会进行 log2 − log2log2 + O()个比较,对于比较算法(最高为O() 项中的恒定因子)而言,这是最佳选择。

相关

  • 穿透式电子显微镜透射电子显微镜(英语:Transmission electron microscope,缩写:TEM、CTEM),简称透射电镜,是把经加速和聚集的电子束投射到非常薄的样品上,电子与样品中的原子碰撞而改变方向,从而产生
  • 量子量子光学(英语:Quantum optics)是物理学在1990年后成熟的新兴分支,是原子分子与光物理的一部分,也和冷原子物理紧密相连。与凝态物理、粒子物理学、宇宙学等其他成熟分支相比,在精
  • 灭蚁乐灭蚁乐(Mirex)又称灭蚁灵,是有机氯杀虫剂的一种,为白色结晶状固体,熔点约为485℃。灭蚁乐具有中度毒性,对于老鼠的口服LD50值为300-600mg/kg。它对于火蚁,蜈蚣,蛞蝓,蜗牛,和马陆特别
  • 马来西亚陆军马来西亚陆军(英语:Malaysian Army;马来语:Tentera Darat Malaysia)是马来西亚武装部队的一个分支,马来西亚陆军并不像马来西亚皇家海军和马来西亚皇家空军那样冠上“皇家”的称谓
  • 领土集体领土集体(法语:collectivité territoriale),亦称地方集体(collectivité locale),是法国的一种受公法约束的法人,其在所在领土上行使国家下放的部分权力。 1958年《法兰西第五共和
  • 侯丽节侯丽节(梵语:होली,Holī),也叫洒红节、欢悦节、五彩节、胡里节、荷丽节、好利节、霍利节,是印度人和印度教徒的重要节日,其地位仅次于屠妖节,也是印度传统新年(新印度历新年于春
  • 文慧如文慧如(Boon Hui Lu;1993年12月11日-),新加坡创作型歌手,童星出身,祖籍中国海南文昌,因翻唱黄明志的《漂向北方》创下YouTube千万点击而爆红,出道时有“亿万翻唱女神”之称。。2017年
  • 土耳其语维基百科土耳其语维基百科是维基百科协作计划的土耳其语版本,由非营利组织──维基媒体基金会维持负责。目前是各语言维基百科计划中,规模排名第19(依条目量计算)的维基百科。计划开始于
  • 自有品牌生产自有品牌生产(英语:Original Brand Manufacturer,缩写作OBM),也译作原创品牌设计,所指的就是生产商建立自有品牌,并以此品牌行销市场的一种作法。由设计、采购、生产到贩售皆由单一
  • 义乳义乳,指具有乳房外形的人造形体。义乳的材质很多,但目前常用的为硅胶,颜色接近肤色。义乳经常在乳房切除术后使用,以在外形上弥补缺失的乳房。在19世纪,义乳使用橡胶制成。1885年