Transforming cabbage into turnip: polynomial algorithm for sorting signed permutations by reversals
STOC '95 Proceedings of the twenty-seventh annual ACM symposium on Theory of computing
Sorting by reversals is difficult
RECOMB '97 Proceedings of the first annual international conference on Computational molecular biology
SIAM Journal on Discrete Mathematics
Sorting Permutations by Reversals and Eulerian Cycle Decompositions
SIAM Journal on Discrete Mathematics
Sorting permutations by tanspositions
Proceedings of the sixth annual ACM-SIAM symposium on Discrete algorithms
Faster and simpler algorithm for sorting signed permutations by reversals
SODA '97 Proceedings of the eighth annual ACM-SIAM symposium on Discrete algorithms
Genome Rearrangements and Sorting by Reversals
SIAM Journal on Computing
Proceedings of the Eighth International Conference on Intelligent Systems for Molecular Biology
CPM '96 Proceedings of the 7th Annual Symposium on Combinatorial Pattern Matching
Genome rearrangements and sorting by reversals
SFCS '93 Proceedings of the 1993 IEEE 34th Annual Foundations of Computer Science
On the Practical Solution of the Reversal Median Problem
WABI '01 Proceedings of the First International Workshop on Algorithms in Bioinformatics
Finding an Optimal Inversion Median: Experimental Results
WABI '01 Proceedings of the First International Workshop on Algorithms in Bioinformatics
Experiments in Computing Sequences of Reversals
WABI '01 Proceedings of the First International Workshop on Algorithms in Bioinformatics
An O(n2) algorithm for signed translocation
Journal of Computer and System Sciences - Special issue on bioinformatics II
Hurdles Hardly Have to Be Heeded
RECOMB-CG '08 Proceedings of the international workshop on Comparative Genomics
Listing all sorting reversals in quadratic time
WABI'10 Proceedings of the 10th international conference on Algorithms in bioinformatics
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
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(nα(n)) algorithm, based on a Union-Find structure, to find its connected components, where α is the inverse Ackerman function. Since for all practical purposes α(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.