ABSTRACT

This chapter studies the notions of ranking and unranking from a bijective viewpoint. Intuitively, our goal is to find algorithms that implement bijective maps between an nelement set of combinatorial objects and the set of integers n = {0, 1, 2, . . . , n− 1}. These algorithms will allow us to solve a variety of combinatorial problems. We begin the chapter by introducing some of these problems. Then we discuss bijective versions of the sum and product rules. These new rules provide a mechanical method for translating the counting arguments in earlier chapters into explicit bijections. Recursions derived using the sum and product rules can be treated in the same way; the resulting bijections are typically specified by recursive algorithms.