Sorting and Ranking of Self-Delimiting Numbers with Applications to Outerplanar Graph Isomorphism
Abstract
Assume that an N-bit sequence S of k numbers encoded as Elias gamma codes is given as input. We present space-efficient algorithms for sorting, dense ranking and competitive ranking on S in the word RAM model with word size ( N) bits. Our algorithms run in O(k + N N) time and use O(N) bits. The sorting algorithm returns the given numbers in sorted order, stored within a bit-vector of N bits, whereas our ranking algorithms construct data structures that allow us subsequently to return the dense/competitive rank of each number x in S in constant time. For numbers x ∈ N with x > N we require the position px of x as the input for our dense-/competitive-rank data structure. As an application of our algorithms above we give an algorithm for tree isomorphism, which runs in O(n) time and uses O(n) bits on n-node trees. Finally, we generalize our result for tree isomorphism to forests and outerplanar graphs, while maintaining a space-usage of O(n) bits. The previous best linear-time algorithms for trees, forests and outerplanar graph isomorphism all use (n n) bits.