Research and Advances

Efficient generation of the binary reflected gray code and its applications

Algorithms are presented to generate the n-bit binary reflected Gray code and codewords of fixed weight in that code. Both algorithms are efficient in that the time required to generate the next element from the current one is constant. Applications to the generation of the combinations of n things taken k at a time, the compositions of integers, and the permutations of a multiset are discussed.


Author Archives

Research and Advances

Backtrack programming techniques

The purpose of this paper is twofold. First, a brief exposition of the general backtrack technique and its history is given. Second, it is shown how the use of macros can considerably shorten the computation time in many cases. In particular, this technique has allowed the solution of two previously open combinatorial problems, the computation of new terms in a well-known series, and the substantial reduction in computation time for the solution to another combinatorial problem.
Research and Advances

A nonrecursive list moving algorithm

An efficient, nonrecursive algorithm is given for moving any LISP-type list. In particular, the algorithm requires no storage other than the new nodes into which the lists is to be moved, and no additional bits per node for marking; the algorithm runs in time proportional to the number of nodes in the list. The original list structure is destroyed as it is moved.

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 Involved