Self-adjusting binary search trees
Journal of the ACM (JACM)
A data structure useful for finding Hamiltonian cycles
Theoretical Computer Science
Data structures for traveling salesmen
SODA '93 Selected papers from the fourth annual ACM SIAM symposium on Discrete algorithms
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
A Faster and Simpler Algorithm for Sorting Signed Permutations by Reversals
SIAM Journal on Computing
Genome Rearrangements and Sorting by Reversals
SIAM Journal on Computing
A Very Elementary Presentation of the Hannenhalli-Pevzner Theory
CPM '01 Proceedings of the 12th Annual Symposium on Combinatorial Pattern Matching
A simpler 1.5-approximation algorithm for sorting by transpositions
CPM'03 Proceedings of the 14th annual conference on Combinatorial pattern matching
A 1.5-approximation algorithm for sorting by transpositions and transreversals
Journal of Computer and System Sciences - Special issue on bioinformatics II
Sorting signed permutations by reversals, revisited
Journal of Computer and System Sciences - Special issue on bioinformatics II
A simpler and faster 1.5-approximation algorithm for sorting by transpositions
Information and Computation
Advances on sorting by reversals
Discrete Applied Mathematics
Faster algorithms for sorting by transpositions and sorting by block interchanges
ACM Transactions on Algorithms (TALG)
Hurdles Hardly Have to Be Heeded
RECOMB-CG '08 Proceedings of the international workshop on Comparative Genomics
Sorting Signed Permutations by Inversions in O(nlogn) Time
RECOMB 2'09 Proceedings of the 13th Annual International Conference on Research in Computational Molecular Biology
A simpler and faster 1.5-approximation algorithm for sorting by transpositions
Information and Computation
Listing all sorting reversals in quadratic time
WABI'10 Proceedings of the 10th international conference on Algorithms in bioinformatics
Matrix tightness: a linear-algebraic framework for sorting by transpositions
SPIRE'06 Proceedings of the 13th international conference on String Processing and Information Retrieval
Sorting by weighted reversals, transpositions, and inverted transpositions
RECOMB'06 Proceedings of the 10th annual international conference on Research in Computational Molecular Biology
Hi-index | 0.00 |
The problem of sorting signed permutations by reversals (SBR) is a fundamental problem in computational molecular biology. The goal is, given a signed permutation, to find a shortest sequence of reversals that transforms it into the positive identity permutation, where a reversal is the operation of taking a segment of the permutation, reversing it, and flipping the signs of its elements. In this paper we describe a randomized algorithm for SBR. The algorithm tries to sort the permutation by performing a random walk on the oriented Caylay-like graph of signed permutations under its oriented reversals, until it gets "stuck". We show that if we get stuck at the identity permutation, then we have found a shortest sequence. Empirical testing shows that this process indeed succeeds with high probability on a random permutation. To implement our algorithm we describe an efficient data structure to maintain a permutation under reversals and draw random oriented reversals in sub-linear time per operation. With this data structure we can implement the random walk in time O(n3/2 √log n), thus obtaining an algorithm for SBR that almost always runs in subquadratic time. The data structures we present may also be of independent interest for developing other algorithms for SBR, and for other problems.