Algorithms and Programming is primarily intended for a first-year undergraduate course in programming. It is structured in a problem-solution format that requires the student to think through the programming process, thus developing an understanding of the underlying theory. Although the author assumes some moderate familiarity with programming constructs, the book is easily readable by a student taking a basic introductory course in computer science. In addition, the more advanced chapters make the book useful for a course at the graduate level in the analysis of algorithms and/or compiler construction.
Each chapter is more or less independent, containing classical and well-known problems supplemented by clear and in-depth explanations. The material covered includes such topics as combinatorics, sorting, searching, queues, grammar and parsing, selected well-known algorithms and much more. Students and teachers will find this both an excellent text for learning programming and a source of problems for a variety of courses.
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. The author provides answers to the exercises. — Computing Reviews
This book contains a collection of problems and their solutions. Most of the problems are of the type that would be encountered in a course on data structures or compilers.... The book will prove useful for those who need homework or test questions for the areas covered by it. Many of the questions are formulated in such a way that producing variants on them can be done with ease.... Overall...the book is well done. I recommend it to teachers and those wishing to sharpen their data structure and compiler skills. — SIGACT News