Systematic generation of a specific class of permutations fundamental to scheduling problems is described. In a nonoriented complete graph with n vertices, Hamiltonian circuits equivalent to 1/2(n - 1)! specific permutations of n elements, termed rosary permutations, can be defined. Each of them corresponds to two circular permutations which mirror-image each other, and is generated successively by a number system covering 3·4· ··· ·(n - 1) sets of edges. Every set of edges {ek}, 1 ≤ ek ≤ k, 3 ≤ k ≤ n - 1 is determined recursively by constructing a Hamiltonian circuit with k vertices from a Hamiltonian circuit with k - 1 vertices, starting with the Hamiltonian circuit of 3 vertices. The basic operation consists of transposition of a pair of adjacent vertices where the position of the pair in the permutation is determined by {ek}. Two algorithms treating the same example for five vertices are presented. It is very easy to derive all possible n! permutations from the 1/2(n - 1)! rosary permutations by cycling the permutations and by taking them in the reverse order—procedures which can be performed fairly efficiently by computer.
The Latest from CACM
Shape the Future of Computing
ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.
Get InvolvedCommunications of the ACM (CACM) is now a fully Open Access publication.
By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.
Learn More
Join the Discussion (0)
Become a Member or Sign In to Post a Comment