AnO(ND) difference algorithm and its variations

@article{Myers1986AnONDDA,
  title={AnO(ND) difference algorithm and its variations},
  author={Eugene Wimberly Myers},
  journal={Algorithmica},
  year={1986},
  volume={1},
  pages={251-266}
}
  • E. Myers
  • Published 1 November 1986
  • Computer Science
  • Algorithmica
The problems of finding a longest common subsequence of two sequencesA andB and a shortest edit script for transformingA intoB have long been known to be dual problems. In this paper, they are shown to be equivalent to finding a shortest/longest path in an edit graph. Using this perspective, a simpleO(ND) time and space algorithm is developed whereN is the sum of the lengths ofA andB andD is the size of the minimum edit script forA andB. The algorithm performs well when differences are small… 

Utilizing Dynamically Updated Estimates in Solving the Longest Common Subsequence Problem

A straightforward method for updating dynamically the lower bound value for the lcs is presented and the purpose is to refine the estimate gradually to prune more effectively the search space of the used exact lcs algorithm.

A sublinear algorithm for approximate keyword searching

  • E. Myers
  • Computer Science
    Algorithmica
  • 2005
An algorithm that given a precomputedindex of the databaseA, finds rare matches in time that issublinear inN, i.e.,Nc for somec<1.0, which gives a 50-to 500-fold improvement over previous algorithms for prolems of interest in molecular biology.

Practical Algorithms for the Longest Common Extension Problem

Two very simple algorithms for the Longest Common Extension problem are given: the first needs only the string and is significantly faster than all previous algorithms on the average, and the second combines the first with a direct RMQ computation on the LongEST Common Prefix array.

A new algorithm for “the LCS problem” with application in compressing genome resequencing data

A new algorithm to address the longest common subsequence problem is presented and a new reference-based compression scheme for genome resequencing data is introduced using the components of the LCS, rather than the LCS itself.

New efficient algorithms for the LCS and constrained LCS problems

Locating Longest Common Subsequences with Limited Penalty

A basic approach for finding longest common subsequences with limited penalty is proposed, and based on it a filter-refine approach is proposed to reduce number of candidates.

Performance analysis of some simple heuristics for computing longest common subsequences

It is shown that any heuristic which uses only global information, such as number of symbol occurrences, might return a common subsequence as short as 1/s of the length of the longest.

Longest common subsequence problem for unoriented and cyclic strings

Computing longest common extensions in partial words

...

References

SHOWING 1-10 OF 26 REFERENCES

A fast algorithm for computing longest common subsequences

An algorithm for finding the longest common subsequence of two sequences of length n which has a running time of O((r + n) log n), where r is the total number of ordered pairs of positions at which the two sequences match.

A longest common subsequence algorithm suitable for similar text strings

O(n(m-p) log n) algorithm is presented, and when p is close to m (in other words, two given strings are similar), the algorithm presented here runs much faster than previously known algorithms.

Bounds on the Complexity of the Longest Common Subsequence Problem

It is shown that unless a bound on the total number of distinct symbols is assumed, every solution to the problem can consume an amount of time that is proportional to the product of the lengths of the two strings.

A Faster Algorithm Computing String Edit Distances

The string-to-string correction problem with block moves

An algorithm that produces the shortest edit sequence transforming one string into another is presented and is optimal in the sense that it generates a minimal covering set of common substrings of one string with respect to another.

Fast Algorithms for Finding Nearest Common Ancestors

An algorithm for a random access machine with uniform cost measure (and a bound of $\Omega (\log n)$ on the number of bits per word) that requires time per query and preprocessing time is presented, assuming that the collection of trees is static.

Algorithms for the Longest Common Subsequence Problem

A lgor i thm is appl icable in the genera l case and requi res O ( p n + n log n) t ime for any input strings o f lengths m and n even though the lower bound on T ime of O ( m n ) need not apply to all inputs.

A note on two problems in connexion with graphs

  • E. Dijkstra
  • Mathematics, Computer Science
    Numerische Mathematik
  • 1959
A tree is a graph with one and only one path between every two nodes, where at least one path exists between any two nodes and the length of each branch is given.

A Space-Economical Suffix Tree Construction Algorithm

A new algorithm is presented for constructing auxiliary digital search trees to aid in exact-match substring searching. This algorithm has the same asymptotic running time bound as previously