國璽:
LCS |
||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
1974 |
O(mn) |
O(mn) |
ED |
|
1975 |
O(mn) |
O(n) |
D&C,
linear space |
|
1977 |
O((n + r) log n) |
O(r + n) |
avg: O(n
log n), worst: O(n2 log n), |
|
1977 |
O(pn + n log n) |
O(pn) |
(minimal)
k-candidate, |
|
1977 |
O(p(m+1–p) log n) |
O((m–p)2 + n) |
p
@ m |
|
1980 |
O(n max{1, m/log n}) |
O(n2/ log n) |
4-Rassian
algorithm, |
|
1982 |
O(n(m–p)) |
O(m2) |
- |
|
1984 |
O(pm log(n/p) + pm) |
O(pm) |
- |
|
1985 |
O(Em) |
O(E min{m, E}) |
ED, |
|
1986 |
O(n + m log n + D log(mn/D)) |
O(r + m) |
Improve Hunt77, r
@ mn |
|
1986 |
O(E(m + n)) |
O(m + n) |
Longest/shortest
path, suffix tree |
|
1987 |
O(n(m–p)) |
O(n) |
D&C,
contour |
|
1987 |
O(pm + n) |
O(D + n) |
Remark
on Hsu-Du |
|
1990 |
O(n
+ min{D, pm}) |
O(D
+ n) |
DM, D
@ r |
|
1992 |
O(pm) |
O(n) |
Contour |
|
1992 |
O(n + Dlog log min{D, mn/D}) |
O(D + m) |
DM, ED |
|
2000 |
O(min{pm, p(n–p)}) |
O(n) |
Contour |
興彥:
Cyclic string correction |
||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
1974 |
Wagner and Fischer |
O(mn) |
O(mn) |
[Wagn74] linear (edit distance) |
1990 |
Maes |
O(n m log n) |
[Maes90] Cyclic LCS |
Constrained LCS |
||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
2003 |
Tsai |
O(pm2n2) |
[Tsai03] | |
2004 |
Chin |
?? |
[Chin04] |
LCS from fragments |
||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
2002 |
Baker and Giancarlo |
O((m
+ n) log
|Σ| + |
[Bake02] Sparse dynamic programming |
String matching with k-mismatches |
||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
1986 |
Galil and Giancarlo |
O(nk) |
[Gali86]
Kangaroo Method: Suffix tree + Lowest common ancestor |
|
1987 |
Abrahamson |
O(n (m log m)1/2) |
[Abra87] find the Hamming Distance at every location | |
2004 |
Amir, Lewenstein and Porat |
min(
O(n
(k
log k)1/2),
|
[Amir04] |TEXT| = n; |Pattern| = m; k mismatches |
永興:
Edit distance (insert, delete, replace) | ||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
1974 |
Wagner and Fischer |
O(mn) |
O(mn) |
[Wagn74] |
1990 |
Maes |
O(n m log n) |
[Maes90] Cyclic string |
Edit distance with block edits (block moves, block copies, block deletes, block reversals) |
||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
2000 | S. Muthukrishnan and S. C. Sahinalp |
O( log n (log*n)2)-approximation
in O(n log n) time |
[Muth00] | |
2002 | D. Shapira and J. A. Storer |
a simple GREEDY approximation algorithm in O(n) time |
[Shap02] 1. prove: NP-complete 2. claim: GREEDY = O(log n)-approximation |
|
2002 | G. Cormode and S. Muthukrishnan |
O( log n log*n)-approximation in O(n log n) time |
[Corm02] | |
2005 | M. Chrobak, P.Kolman and J. Sgall | Shapira's GREEDY |
[Chro05] Ω(n0.43) = GREEDY = O(n0.69) 2-MCSP: 3-approximation 4-MCSP: Ω(log n)-approximation |
|
2006 | H. Kaplan and N. Shafrir | Shapira's GREEDY |
[Kapl06] Ω(n0.46) = GREEDY |
Edit distance for numeric sequence-(reversal, transposition) |
||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
1995 | J. Kececioglu and D. Sankoff |
2-approximation in O(n2) Exact algorithm in O(mL(n,n)) |
[Kece95] m: size of branch and bound search tree. L(n,n): time to solve a linear program of n variables and n constraints | |
1996 | V. Bafna and P.Pevzner | 1.75-approximation | [Bafn96] Reversal | |
1998 | V. Bafna and P.Pevzner | 1.5-approximation in O(n2) | [Bafn98] Transposition | |
1998 | D. A. Christie | 1.5-approximation in O(n2) | [Chri98] Reversal | |
2000 | M. E. Walter, Z. Dias, and J. Meidanis | 2.25-approximation in O(b2) | [Walt00] b: the number of breakpoints | |
2003 | T. Hartman and R. Shamir | 1.5-approximation in O(n2) | [Hart03] Transposition |
Edit distance for Trees (insert, delete, relabel) |
||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
1989 | K. Zhang and D. Shasha | O(|T1|2|T2|2) | [Zhan89] |T|: number of nodes in T | |
2003 | S. Dulucq and L. Tichit | O(|T1|1.5|T2|1.5) | [Dulu03] |
Edit distance for arc-annotated sequences |
||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
2002 | T. Jiang, G. H. Lin, B. Ma, and K. Zhang |
Exact algorithm for EDIT(Nested, Plain) in O(n4) Approximation algorithm for EDIT(Crossing, Nested) in O(n3) with ratio max{2wa/(wb+wr), (wb+wr)/2wa} |
[Jian02] : Wa: cost for arc altering Wb: cost for arc breaking Wr: cost for arc removing |
球庭:
LIS |
||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
1961 |
Schensted |
O(n log n) |
[Sche61] | |
1977 |
Hunt and Szymanski |
O(n log log n) |
[Hunt77] | |
2000 |
Bespamyatnikh and Segal |
O(n log log n) |
[Besp00] | |
2003 |
Liben-Nowell, Vee and Zhu |
élog(1+1/ε)ù - pass, update time O(log k) or O(log log m) |
O(k1+ε log m) |
[Liben03] Streaming data |
Windowed LIS |
||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
2004 |
Albert |
O(n log log n + OUTPUT) |
[Albe04] Sliding Window |
LCIS |
||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
2004 |
Yang |
O(mn) |
[Yang05] | |
2004 |
Katriel |
O(m log m + np log n) |
O(m + np) |
[Katr05] |
2004 |
Chan |
Two sequence: O(min(r log p, np + r) log log n + n log n)) N sequence: O(min(Nr2, Nr log p logN r)+ Nnlog n) |
|
[Chan05] multiple sequence LCIS, Multidimentional orthogonal range query |
2005 |
Brodal |
Two sequence: O((m+np) log log σ + Sort), O(m) when σ = 2, O(n+ n log n) when σ = 3 N sequences: O(min(Nr2, rlogN-1 r log log r) + NSortΣ(n)) |
O(m) |
[Brod05] multiple sequence LCIS |
LIS length distribution |
||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
1999 |
Aldous and Diaconis |
[Aldo99] Average 2n0.5 |
LIS variation |
||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
1990 |
Kim |
O(n log n) |
[Kim90] Maximal independent set on permutation graph, stack |
LCIS variation |
||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
1993 |
Malucelli, Ottmann and Pretolani |
O(r log log n) |
O(m) |
[Malu93] Noncrossing matching, vEBpq |
Weighted LIS variation |
||||
Year |
Author(s) |
Time Complexity |
Space Complexity |
Remark |
1985 |
W. Hsu |
O(n2 + r log log n) for circle graph, O(nr) for circular-arc graph |
O(r) for circular graph |
[Hsu85] Circle graph, circular-arc raph |
1992 |
M. Chang and F. Wang |
O(n log log n) |
[Chan92] Permutation graph, overlap graph | |
1993 |
Yu, Tseng and Chang |
Sequential: O(n log log n), Parallel: O(log2n), O(n3/(log n)) processor |
[Yu93] Permutation graph, vEBpq, parallel |
[Abra87] | K. Abrahamson, Generalized string matching, SIAM J. Computing, Vol. 16, No. 6, pp. 1039-1051, 1987. | |
[Albe04] | M. H. Albert, A. Golynski, A. M. Hamel, A. Lopez-Ortiz, S. S. Rao, and M. A. Safari, "Longest increasing subsequences in sliding windows," Theoretical Computer Science, Vol. 321, No. 2-3, pp. 405-414, 2004. | |
[Aldo99] | D. Aldous and P. Diaconis, "Longest increasing subsequences: from patience sorting to the baik-deift-johansson theorem," Bulletin of the American Mathematical Society, Vol. 36, No. 4, pp. 413-432, 1999. | |
[Amir04] | A. Amir, M. Lewenstein and E. Porat, Faster algorithms for string matching with k mismatches. Journal of Algorithms, Vol. 50, No. 2, pp. 257-275, 2004. | |
[Apos86] | A. Apostolico, "Improving the worst-case performance of the Hunt-Szymanski strategy for the longest common subsequence of two string," Information Processing Letters, Vol. 23, No. 2, pp. 63-69, 1986. | |
[Apos87a] | A. Apostolico, "Remark on the Hsu-Du new algorithm for the longest common subsequence problem," Information Processing Letters, Vol. 25, pp. 235-236, 1987. | |
[Apos87b] | A. Apostolico and C. Guerra, "The longest common subsequence problem revisited," Algorithmica, No. 2, pp. 315-336, 1987. | |
[Apos92] | A. Apostolico, S. Browne, and C. Guerra, "Fast linear-space computations of longest common subsequences," Theoretical Computer Science, Vol. 92, pp. 3-17, 1992. | |
[Bafn96] | V. Bafna and P. Pevzner, "Genome rearrangements and sorting by reversals," SIAM Journal of Computing, Vol. 25, No. 2, pp. 272-289, 1996 | |
[Bafn98] | V. Bafna and P. Pevzner, "Sorting by transpositions," SIAM Journal on Discrete Mathematics, Vol. 11, No. 2, pp. 224-240, 1998. | |
[Bake02] | B. S. Baker and R. Giancarlo, Sparse dynamic programming for longest common subsequence from fragments. Journal of Algorithms, Vol. 42, No. 2, pp. 231-254, 2002. | |
[Besp00] | S. Bespamyatnikh and M. Segal, "Enumerating longest increasing subsequences and patience sorting," Information Processing Letters, Vol. 76, No. 1-2, pp. 7-11, 2000. | |
[Brod05] | G. S. Brodal, K. Kaligosi, and I. Katriel, "Faster Algorithms for Computing Longest Common Increasing Subsequences," Tech. Rep. BRICS-RS-05-37, BRICS, Department of Computer Science, University of Aarhus, 2005. | |
[Chan05] | W.T. Chan, Y. Zhang, S.P.Y Fung, D. Ye, and H. Zhu, "Efficient Algorithms for Finding a Longest Common Increasing Subsequence," The 16th Annual International Symposium on Algorithms and Computation, Lecture Notes in Computer Science, Vol. 3827, pp. 665-674, 2005. | |
[Chan92] | M. Chang and F. Wang, "Efficient algorithms for the maximum weight clique and maximum weight independent set problems on permutation graphs," IPL, Vol.43, pp. 293-295, 1992. | |
[Chin90] | F. Y. L. Chin and C. K. Poon, "A fast algorithm for computing longest common subsequences of small alphabet size," Information Processing Letters, Vol. 13, No. 4, pp. 463-469, 1990. | |
[Chin04] | F. Y. L. Chin, A. D. Santis, A. L. Ferrara, N. L. Ho, and S. K. Kim, "A simple algorithm for the constrained sequence problems," Information Processing Letters, Vol. 90, No. 4, pp. 175-179, 2004. | |
[Chri98] | "A 3/2-approximation algorithm for sorting by reversals," in the Proceeding of the 9th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 244-252, 1998. | |
[Chro05] | "The greedy algorithm for the minimum common string partition problem," ACM Transactions on Algorithms, pp. 350-366, 2005. | |
[Corm02] | G. Cormode and S. Muthukrishnan, "The string edit distance matching problem with moves," In Proceedings of the 13th Annual ACM-SIAM Symposium On Discrete Algorithms (SODA), pp. 667-676, 2002. | |
[Dulu03] | S. Dulucq and L. Tichit, "RNA secondary structure comparison: exact analysis of the zhang-shasha tree edit algorithm," Theoretical Computer Science, pp. 471-484, 2003. | |
[Epps92] | D. Eppstein, Z. Galil, R. Giancarlo, and G. F. Ltaliano, "Sparse dynamic programming I: Linear cost functions," Journal of the ACM, Vol. 39, pp. 519-545, 1992. | |
[Gali86] | Z. Galil and R. Giancarlo, Improved String Matching with k Mismatches, SIGACT NEWS, Vol. 17 , Issue 4, pp. 52-54, 1986. | |
[Hart03] | T. Hartman and R. Shamir, "A simpler 1.5-approximation algorithm for sorting by transpositions," Combinatorial Pattern Matching 14th Annual Symposium, pp. 156-169, 2003. | |
[Hirs75] | D. S. Hirschberg, "A linear space algorithm for computing maximal common subsequence," Communications of the Association for Computing Machinery, Vol. 24, pp. 664-675, 1975. | |
[Hirs77] | D. S. Hirschberg, "Algorithms for the longest common subsequence problem," Journal of the ACM, Vol. 24, pp. 664-675, 1977. | |
[Hsu84] | W. J. Hsu and M. W. Du, "New algorithms for the LCS problem," Journal of Computer and System Sciences, Vol. 19, pp. 133-152, 1984. | |
[Hsu85] | W. Hsu, "Maximum weight clique algorithms for circular-arc graphs and circle graphs," SIAM J. Computing., Vol. 14, No. 1, pp. 224-231, 1985 | |
[Hunt77] | J. W. Hunt and T. G. Szymanski, "A fast algorithm for computing longest common subsequences," Communications of the ACM, Vol. 20, No. 5, pp. 350-353, 1977. | |
[Jian02] | T. Jiang, G. H. Lin, B. Ma, and K. Zhang, "A general edit distance between RNA structures," Journal of Computational Biology, pp. 371-388, 2002. | |
[Katr05] | I. Katriel and M. Kutz, "A Faster Algorithm for Computing a Longest Common Increasing Subsequence," MPI-INF Research Report, 2005 | |
[Kapl06] | H. Kaplan and N. Shafrir, "The greedy algorithm for edit distance with moves," Information Processing Letters, Vol. 97, pp. 23-27, 2006 | |
[Kece95] | J. Kececioglu and D. Sankoff, "Exact and approximation algorithms for sorting by reversals, with application to genome rearrangement," Algorithmica, Vol. 13, No. 1-2, pp. 180-210, 1995. | |
[Kim90] | H. Kim, "Finding a maximum independent set in a permutation graph," IPL, Vol. 36, pp. 19-23, 1990. | |
[Kuma87] | S. K. Kumar and C. P. Rangan, "A linear-space algorithm for the LCS problem," Acta Informatica, Vol. 24, pp. 353-362, 1987. | |
[Libe03] | D. Liben-Nowell, E. Vee and A. Zhu, "Finding longest increasing and common subsequences in streaming data," | |
[Mase80] | W. J. Masek and M. S. Peterson, "A faster algorithm computing string edit distance," Journal of Computer and System Sciences, Vol. 20, pp. 18-31, 1980. | |
[Maes90] | M. Maes, "On a cyclic string-to-string correction problem," Information Processing Letters, Vol. 35, pp. 73-78, 1990. | |
[Malu93] | F. Malucelli, T. Ottmann and D. Pretoalani, "Efficient labelling algorithms for the maximum noncrossing matching problem," Discrete Mathematics, Vol. 47, pp. 175-179, 1993. | |
[Muth00] | S. Muthukrishnan and S. C. Sahinalp, "Approximate nearest neighbors and sequence comparison with block operations," In the Proceeding of the 32th Annual ACM Symposium on Theory of Computing (STOC), pp. 416-424, 2000. | |
[Myer86] | E. W. Myers, "An O(ND) difference algorithm and its variations," Algorithmica, No. 1, pp. 251-266, 1986. | |
[Naka82] | N. Nakatsu, Y. Kambayashi, and S. Yajima, "A longest common subsequence algorithm suitable for similar texts," Acta Informatica, Vol. 18, pp. 171-179, 1982. | |
[Rick00] | C. Rick, "Simple and fast linear space computation of longest common subsequences," Information Processing Letters, Vol. 75, pp. 275-281, 2000. | |
[Sche61] | C. Schensted, "Longest increasing and decreasing subsequences," Canadian Journal of Mathematics, Vol. 13, pp. 179-191, 1961. | |
[Shap02] | D. Shapira, J. A. Storer, "Edit distance with move operations," in: Proc. 13th Annual Symp. on Combinatorial Pattern Matching, Springer-Verlag, Berlin, 2002, pp. 85-98. | |
[Tsai03] | Y. T. Tsai, "The constrained longest common subsequence problem," Information Processing Letters, Vol. 88, pp. 173-176, 2003. | |
[Ukko85] | E. Ukkonen, "Algorithms for approximate string matching," Information and Control, Vol. 64, pp. 100-118, 1985. | |
[Ullm76] | J. D. Ullman, A. V. Aho and D. S. Hirschberg, “Bounds on the
Complexity of the Longest Common Subsequence Problem, ”. J. ACM, Vol. 23,
No. 1, pp. 1-12, Jan. 1976. DOI= http://doi.acm.org/10.1145/321921.321922 |
|
[Wagn74] | R. A. Wagner and M. J. Fischer, "The string-to-string correction problem," Journal of the ACM, Vol. 21, No. 1, pp. 168-173, 1974. | |
[Walt00] | M. E. Walter, Z. Dias, and J. Meidanis. "A new approach for
approximating the transposition distance," In the Proceedings of SPIRE'2000 - String Processing and Information Retrieval. September, 27-29, 2000. La Coruna, Spain. |
|
[Yang05] | I. H. Yang, C. P. Huang, and K. M. Chao, "A fast algorithm for computing a longest common increasing subsequence," Information Processing Letters, 2005. | |
[Yu93] | M. Yu, L. Tseng and S. Chang, "Sequential and parallel algorithms for the maximum-weight independent set problem on permutation graphs," IPL, Vol. 46, pp. 7-11, 1993. | |
[Zhan89] | K. Zhang and D. Shasha, "Simple fast algorithms for the editing distance between trees and related problems," SIAM Journal on Computing, pp. 1245-1262, 1989. |