Errata to "Fundamentals of Computing"* Leonid Levin D e p a r t m e n t of C o m p u t e r Science Boston University 111 Cllmmington St. Boston, M A 02215 M a y 6, 1997 In "Fundamentals of Computing" by L.Levin SIGACT News 27(3), at the end of page 93, the following correction should be made: Call array entries i-th partners when their addresses differ only in i-th bit. Operations on partners can be implemented on a Shu~e Ezchange graph of 2 ~ nodes. Each node has pointers to its k-th partner and to and from its shift node obtained by moving its first address bit to the end. A bitonic cycle is the combination of two sorted arrays (one may be shorter), connected by max-to-max and rnin-to-min entries. We merge sorted arrays by appending the reversed second one to the first, considering the last and first entries as neighbors, and sorting the resulting bitonic cycle. The sorting of a 2 k long bitonic cycle proceeds by comparing each entry with its k-th partner (i.e. diametric opposite on the cycle) and switching if wrongly ordered. Each half becomes then a bitonic cycle and any two entries from different halves are in proper order. The process then repeats for each half recursively (decrementing k through the graph's shift edges). Bntcher Merge: *Copyright (~) Leonid Levin, 1997.
/lp/association-for-computing-machinery/errata-to-fundamentals-of-computing-wPeIrgF04f