Robert L. Kruse, Alex Ryba, «Data Structures and Program Design in C++»
Prentice Hall | ISBN 0137689950 | 1998 Year | PDF | 4,4 Mb | 717 Pages
"Progressing from the concrete to the abstract - and using numerous, substantial case studies and sample programs - this book explores structured problem solving, data abstraction, software engineering principles, and the comparative analysis of algorithms as fundamental tools of program design. Emphasizes principles of top-down refinement, program design, review, and testing. Uses the C programming language throughout. Offers internet access to the source code for all the programs and program extracts printed in the book.
In a surprisingly lively textbook-style treatment, Data Structures and Program Design in C++ delivers expertise and plenty of sample programs for the working C++ programmer or computer science student.
While some books on data structures stress theory and mathematical concepts over real-world sample code, this guide illustrates its tour of data structures - such as stacks, lists, queues, trees, and graphs - with clear, engaging samples. Throughout, the authors make use of built-in C++ features (such as the Standard Template Library [STL] and templates) where appropriate.
Early chapters use such interesting examples as Conway's Game of Life, chess and game programming, a simple calculator, and an airport simulation. Along the way, the reader will learn about lists, stacks, and queues.
In later chapters, covering thornier topics such as sorting algorithms, trees, and graphs, the authors do not skimp on the mathematical underpinnings for measuring efficiency. Instead, they take extreme care to introduce everything required to understand such conventions as the "Big O" notation and principles of logarithms."