Journal of Computational Biology · 2001 · 353 citations · 16 references
Hannenhalli and Pevzner gave the first polynomial-time algorithm for computing the inversion distance between two signed permutations, as part of the larger task of determining the shortest sequence of inversions needed to transform one permutation into the other. Their algorithm (restricted to distance calculation) proceeds in two stages: in the first stage, the overlap graph induced by the permutation is decomposed into connected components; then, in the second stage, certain graph structures (hurdles and others) are identified. Berman and Hannenhalli avoided the explicit computation of the overlap graph and gave an O(nalpha(n)) algorithm, based on a Union-Find structure, to find its connected components, where alpha is the inverse Ackerman function. Since for all practical purposes alpha(n) is a constant no larger than four, this algorithm has been the fastest practical algorithm to date. In this paper, we present a new linear-time algorithm for computing the connected components, which is more efficient than that of Berman and Hannenhalli in both theory and practice. Our algorithm uses only a stack and is very easy to implement. We give the results of computational experiments over a large range of permutation pairs produced through simulated evolution; our experiments show a speed-up by a factor of 2 to 5 in the computation of the connected components and by a factor of 1.3 to 2 in the overall distance computation.
16
Vineet Bafna, Pavel A. Pevzner · SIAM Journal on Discrete Mathematics · 1998 · 410 citations
Genome Rearrangements and Sorting by Reversals
Vineet Bafna, Pavel A. Pevzner · SIAM Journal on Computing · 1996 · 399 citations
Transforming cabbage into turnip
Sridhar Hannenhalli, Pavel A. Pevzner · 1995 · 268 citations
Theory Of Computing, Reversals Authors, Computational Science +7