"Algorithms and Programming" is primarily intended for a first year undergraduate course in programming. Structured in a problem-solution format, the text motivates the student to think through the programming process, thus developing a firm understanding of the underlying theory. Although a moderate familiarity with programming is assumed, the book is easily utilized by students new to computer science. The more advanced chapters make the book useful for a graduate course in the analysis of algorithms and/or compiler construction.
New to the second edition are added chapters on suffix trees, games and strategies, and Huffman coding as well as an appendix illustrating the ease of conversion from Pascal to C. The material covers such topics as combinatorics, sorting, searching, queues, grammar and parsing, selected well-known algorithms, and much more.
Reviews of the 1st Edition:
"The book is addressed both to ambitious students and instructors looking for interesting problems [and] fulfills this task perfectly, especially if the reader has a good mathematical background."
— Zentralblatt MATH
"This book is intended for students, engineers, and other people who want to improve their computer skills.... The chapters can be read independently. Throughout the book, useful exercises give readers a feeling for how to apply the theory."
— Computing Reviews
"Overall...the book is well done. I recommend it to teachers and those wishing to sharpen their data structure and compiler skills."
— SIGACT News