Designing an Algorithm and Data Structures
Algorithm Design Techniques