Think, Then Code<br>When it comes to writing code, preparation is crucial to success. Before you can begin writing successful code, you need to first work through your options and analyze the expected performance of your design. Thats why Elliot Koffman and Paul Wolfgangs Objects, Abstraction, Data
Objects, Abstraction, Data Structures and Design: Using C++
β Scribed by Elliot B. Koffman, Paul A. T. Wolfgang
- Publisher
- Wiley
- Year
- 2005
- Tongue
- English
- Leaves
- 834
- Edition
- 1
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
Koffman and Wolfgang introduce data structures in the context of C++ programming. They embed the design and implementation of data structures into the practice of sound software design principles that are introduced early and reinforced by 20 case studies. Data structures are introduced in the C++ STL format whenever possible. Each new data structure is introduced by describing its interface in the STL. Next, one or two simpler applications are discussed then the data structure is implemented following the interface previously introduced. Finally, additional advanced applications are covered in the case studies, and the cases use the STL.
In the implementation of each data structure, the authors encourage students to perform a thorough analysis of the design approach and expected performance before actually undertaking detailed design and implementation. Students gain an understanding of why different data structures are needed, the applications they are suited for, and the advantages and disadvantages of their possible implementations.
Case studies follow a five-step process (problem specification, analysis, design, implementation, and testing) that has been adapted to object-oriented programming. Students are encouraged to think critically about the five-step process and use it in their problem solutions. Several problems have extensive discussions of testing and include methods that automate the testing process. Some cases are revisited in later chapters and new solutions are provided that use different data structures.
The text assumes a first course in programming and is designed for Data Structures or the second course in programming, especially those courses that include coverage of OO design and algorithms. A C++ primer is provided for students who have taken a course in another programming language or for those who need a review in C++. Finally, more advanced coverage of C++ is found in an appendix.
β¦ Table of Contents
Copyright
Preface
Contents
Chapter P: A C++ Primer
Chapter 1: Introduction to Software Design
Chapter 2: Program Correctness and Efficiency
Chapter 3: Inheritance and Class Hierarchies
Chapter 4: Sequential Containers
Chapter 5: Stacks
Chapter 6: Queues and Deques
Chapter 7: Recursion
Chapter 8: Trees
Chapter 9: Sets and Maps
Chapter 10: Sorting
Chapter 11: Self-Balancing Search Trees
Chapter 12: Graphs
Appendix A: Advanced C++ Topics
Appendix B: Overview of UML
Appendix C: The CppUnit Test Framework
Glossary
Index
β¦ Subjects
algorithms and data structures, Objects, Abstraction, Data Structures and Design: Using C++, objects abstraction and data structures, koffman, wolfgang, paul wolfgang, elliot koffman, data structures, algorithms, c++ algorithms, c++ data structures
π SIMILAR VOLUMES
This version of the book uses the latest Java technology, Java 2 Standard Edition Version 5.0 (J2SE V. 5.0), or otherwise known as "Version 5.0." This revolutionary book intertwines problem solving and software engineering with the study of traditional data structures topics. The boo
Mark Lewisβ<i>Introduction to the Art of Programming Using Scala</i>was the first textbook to use Scala for introductory CS courses. Fully revised and expanded, the new edition of this popular text has been divided into two books.<b>Object-Orientation, Abstraction, and Data Structures Using Scala, S
Mark Lewisβ<i>Introduction to the Art of Programming Using Scala</i>was the first textbook to use Scala for introductory CS courses. Fully revised and expanded, the new edition of this popular text has been divided into two books.<b>Object-Orientation, Abstraction, and Data Structures Using Scala, S
This book lays the foundation for programmers to build their skills. The focus is placed on how to implement effective programs using the JCL instead of producing mathematical proofs. The coverage is updated and streamlined to provide a more accessible approach to programming. Theyβll be able to dev