This clearly structured and easy to read textbook explains the concepts and techniques required to write programs that can handle large amounts of data efficiently. Project-oriented and classroom-tested, the book presents a number of important algorithms supported by motivating examples that bring meaning to the problems faced by computer programmers. The idea of computational complexity is als…