The Design and Analysis of Algorithms (Monographs in Computer Science)