SRR LLC
Data Structures Featuring C++ A Programmer's Perspective: Data Structures in C++
Data Structures Featuring C++ A Programmer's Perspective: Data Structures in C++
Couldn't load pickup availability
Each approach has its merits and demerits. Our book, while adhering to designing most data structures from the scratch also employs STL for those who want to follow this approach. We believe this balance is much needed.
Complex data structures are best explained in object-oriented style. Object-oriented design is language independent but its implementation benefits from a language that is designed as object-oriented from the scratch. The popular object-oriented languages that are in vogue today include C++, Java, C#, and Smalltalk. Although many books do use C++ or Java as the programming language of implementation, in our opinion, they do not fully take advantage of the object-oriented features available in the languages but instead simply translate the code from C or Pascal. The techniques we have used have been explained thoroughly and used consistently in the textbook.
To facilitate an understanding of our approach to implementing data structures, we have used a pattern containing the following salient characteristics:
• Defining a data structure as an abstract data type;
• Providing type information about data that will be stored in the structure; we have used templates for all data that is stored in the data structures,
• determine what errors will require exceptions to be thrown and write the exception class hierarchy;
• write an abstract base class for the data structure so that we could implement it more than one way, if necessary;
• determine the fields required in the C++ class and write the constructors to initialize those fields and destructors to dispose of them;
• write accessor methods to allow the user to examine the fields;
• write insertion and deletion methods (and other methods if necessary);
• design an Enumeration class for the data structure;
• write an ostream < method;
• write a test method for the class, which can be called from a main() function.
In addition, the text provides a suite of STL methods to illustrate a complementary approach.
"Complete coverage of many data structures with complete implementation"
We have designed and implemented many data structures. We also employ STL for the sake of completeness and broader coverage. We have developed the implementation of each data structure systematically and explained the development of code consistently. One can consider this book to be even alternatively titled as "Data Structures Featuring C++: Code Explained." In our teaching experience (a combined 45 years), students are better learners of programming when provided with code for reading and testing. Many current textbooks on data structures fall short of this goal.