Chapter

Mathematics of Program Construction

Volume 5133 of the series Lecture Notes in Computer Science pp 79-91

Recounting the Rationals: Twice!

  • Roland BackhouseAffiliated withSchool of Computer Science, University of Nottingham
  • , João F. FerreiraAffiliated withSchool of Computer Science, University of Nottingham

* Final gross prices may vary according to local VAT.

Get Access

Abstract

We derive an algorithm that enables the rationals to be efficiently enumerated in two different ways. One way is known and is credited to Moshe Newman; it corresponds to a deforestation of the so-called Calkin-Wilf tree of rationals. The second is new and corresponds to a deforestation of the Stern-Brocot tree of rationals. We show that both enumerations stem from the same simple algorithm. In this way, we construct a Stern-Brocot enumeration algorithm with the same time and space complexity as Newman’s algorithm.

Keywords

Calkin-Wilf tree Stern-Brocot tree algorithm derivation enumeration algorithm rational numbers