×

针对两个字符串的最长公共子序列,改进Hunt-Szymanski策略的最坏情况性能。 (英语) Zbl 0608.68057号

在迄今为止为寻找两个字符串的最长公共子序列而建立的算法中J.W.亨特T.G.Szymanski(西曼斯基)[委员会ACM 20,350-353(1977;Zbl 0354.68078号)]在有利的情况下表现出最好的已知性能,但对于各种输入,可能比任何直接算法都差。这里提出的新算法追求与Hunt-Szymanski策略固有的基本操作时间表非常接近,但效率大大提高。事实上,新算法在两个重要方面对前者进行了改进。首先,它的最坏情况永远不会比两个输入字符串的长度乘积nm的线性差。其次,它的时限并不总是随着输入字符串的所有匹配位置对的集合r的基数r而增长。相反,它取决于R的特定子集的基数d,其元素在这里称为主导匹配,在其他地方称为最小候选。第二个改进似乎也很重要,因为似乎只要r太接近mn,就会迫使d在m中是线性的。新算法需要标准的预处理,并使用了指树。在即将发表的一篇论文中,除其他内容外,还将表明,使用更简单、更方便的辅助数据结构可以实现相同的性能。

MSC公司:

68页第10页 搜索和排序
65年第68季度 算法和问题复杂性分析
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 阿波斯托利卡,A。;Guerra,C.,《重新审视最长的常见子序列问题》(1985年),未出版手稿
[2] Aho,A.V。;Hirschberg,D.S。;Ullman,J.D.,最大公共子序列问题复杂性的界限,J.ACM,23,1,1-12(1976)·Zbl 0316.68027号
[3] Brown,M.R。;Tarjan,R.E.,《用可移动手指表示线性列表》(Proc.10th STOC.Proc.10st STOC,San Diego,CA(1978)),19-29·Zbl 1282.68094号
[4] Brown,M.R。;Tarjan,R.E.,《快速合并算法》,J.ACM,26,2,211-226(1979)·Zbl 0395.68055号
[5] Hirschberg,D.S.,《最长公共子序列问题的算法》,J.ACM,24,4,664-675(1977)·Zbl 0402.68041号
[6] Hirschberg,D.S.,计算最大公共子序列的线性空间算法,美国计算机科学委员会,18,6341-343(1975)·Zbl 0301.68042号
[7] 亨特,J.W。;Szymanski,T.G.,《计算最长公共子序列的快速算法》,通信ACM,20,5,350-353(1977)·Zbl 0354.68078号
[8] Mehlhorn,K.,《数据结构与算法1:排序与搜索》(EATCS理论计算机科学专著(1984),施普林格:施普林格-柏林)·Zbl 0556.68001号
[9] van Emde Boas,P.,《在小于对数时间和线性空间的森林中保持秩序》,Inform。过程。莱特。,6, 3, 80-82 (1977) ·兹伯利0364.68053
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。