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. The book and all programs have been completely written from the Object-Oriented perspective. Uses the C++ programming language throughout. Briefly reviews the syntax of C++ and provides a brief introduction to the language. The book is native C++ making full use of C++ features and object-oriented programming. Discusses major principles of software engineering and applies them to large programming projects. Covers several more advanced, modern topics, e.g.: Splay trees, Red-black trees, Amortized algorithm analysis.
76899-4
Object-oriented programming and powerful features of C++ enable this carefully crafted text to build data structures from basic ideas into complete, fully-developed programs and interesting applications. In the process, the text explores problem solving and programming principles, data abstraction, recursion, and the comparative analysis of algorithms as fundamentals tools of software design.
Employing substantial case studies, reusable software development, and programming projects to increase understanding, successful authors Robert L. Kruse and Alexander J.Ryba include topics such as:
- C++ templates are introduced early; code for data structures is developed as templated classes in fully reusable form; the Standard Template Library (STL) is mentioned as appropriate.
- Recursion is treated early and applied throughout the text.
- Data abstraction and abstract data types (ADTs) are emphasized, with conceptual development separated from implementation issues.
- Advanced structures and algorithms are developed into complete programs, including splay trees, B-trees, red-black trees, and graph algorithms such as minimal spanning trees.
Data Structures and Program Design in C++ will prove useful to both computer science students and professionals. The authors supply all code in this book on the Web, and, as well, they provide an excellent instructor support package that includes an Instructor's Resource Manual with transparency masters, solutions, and source code to all of the programming examples and projects in the text.