Traversing binary trees is an important problem in processing data structures. We are only interested in permutations that can be described so that the length of the description is independent of the number of nodes. The author identifies 26 such traversals, and groups them into seven classes. This grouping is done by applying two operators on traversals; one operator reverses the order in which the nodes are processed, the other interchanges the meaning of left and right.
The 11 kinds of traversals that are mentioned in the literature belong to six of these classes. The last class can be obtained in the following manner: Consider a binary tree that is the Knuth representation of an arbitrary tree, and process the nodes of the original tree in a breadth-first order, pushing the sons of a processed node onto a stack.
In the last section of the paper, the author presents three traversal schemas that suffice to specify programs for all the traversals. The schemas are described as Pascal-like coroutines. Thus, the paper can be recommended to anyone who is interested in designing data structure algorithms. The paper contains a good review of earlier work and an extensive list of references.