Advanced Data Structures in C++
Advanced Data Structures in C++; $10.00; 826 pages; 2006, 2014; Vic Broquard; Broquard eBooks; ISBN: 978-0-9705697-7-6 3rd Edition
Teach yourself advanced data structures in C++ with this readable book. Advanced Data Structures in C++ continues where the Beginning Data Structures in C++ leaves off to fully cover the remaining elements of Object Oriented Programming and the more advanced data structures. See for yourself:
Check out the free sample data structure classes and sample programs and games from the Games and Windows Programming ebooks.
See for yourself what you can learn to do! When you finish this ebook, you will be able to write all of the sample data structures in the free zip file. However, to write programs like those in the games and windows samples, you will need to learn much beyond advanced data structures. Check my Blog article on which path is right for you.
The ebook is in pdf format and is DRM-free so it can be read on any device that can display pdf files!
After a complete review of basic class construction with which you should be familiar, Advanced Data Structures in C++ covers more advanced features of classes. Among these are forward references, class enumerated data types, friend functions, constant data members, static data members, static member functions, reference variables that are data members, methods of inlining functions and how to make a production library.
Next, Advanced Data Structures in C++ covers in depth all of the various operator overloaded functions; there are a rather large number of them. Then, the principles of inheritance are fully covered. Virtual functions are presented along with the need for them. Examples clearly illustrate their usage. Abstract base classes and pure virtual functions are presented with a significant example of their usage.
Advanced Data Structures in C++ discusses C++ error handling in depth along with dynamic casting and run time type identification. How “out of memory” errors are caught is discussed in depth, since Microsoft’s VC 7 (and subsequent compilers) new function now no longer returns 0 when short of memory. The design of a hierarchy of exception classes is presented showing how an application can fully utilize the C++ error handling mechanism. Also, how to replace the new and delete functions, replacing the terminate and unexpected error handlers is shown.
Next, Advanced Data Structures in C++ presents a full review of the four basic container classes, including the growable array, double linked list, stack and queue.
C++ programming templates are covered in depth followed by an example of converting the double linked list into a template class. How client programs are written using these template classes is presented next.
A thorough discussion of binary files and hashing techniques comes next. Direct file processing techniques cover the relative record number method, the remainder method and ISAM (Indexed Sequential Access Method). How to write master file update programs is discussed in depth. The impact of structure alignment is visibly shown. Then, Advanced Data Structures in C++ shows the need for hashing techniques. Hence, various methods of hashing are presented.
Trees are discussed in depth next, including notation and needed functions and tree operations, such as inserting a new node and deleting a node. Advanced Data Structures in C++ shows a complete example of a binary search tree using an ISAM data base.
Advanced Data Structures in C++‘s chapter on sorting algorithms presents five different methods in detail. It also implements a benchmark program you can use for comparison purposes.
B-trees and their variations are covered next. A complete implementation of an AVL tree is presented.
Advanced Data Structures in C++ discusses graphs, priority queues and heaps in detail. Network operations are also shown. The sample program illustrates graphs in depth including showing the shortest path. The examples show how to produce useful formatted results, not just theoretical displays.
Next, sets and maps are discussed. Set implementations include the set as an array and the set as a bit vector. The map structure is used to show the very beginning steps of data compression routines.
The STL (Standard Template Library) is introduced. How they are created and used is discussed. Examples show how to use the basic container classes.
The last chapter of Advanced Data Structures in C++ presents the theory of complex program analysis and included the big-O notation. However, I have kept the level of math low for those who are weak on higher mathematical procedures. The concepts should be easily understood and can be utilized by anyone to estimate the performance of a routing.
An appendix shows in depth how to use the new Microsoft VC 7 (.NET) compiler to build and debug C++ programs.
Each chapter of Advanced Data Structures in C++ has a set of Review Questions to ensure you have the basic concepts of the chapter learned. These are followed by the Stop! Do These Exercises Before Programming. These exercises illustrate the more common errors that beginners can make using the new materials. Each chapter then has a series of programming problems to do.
For professors, Advanced Data Structures in C++ meets CS III requirements for the third course in C++ programming and was in use at Illinois Central College in the Cmpsc 242 Advanced Data Structures course. The Second Edition has been updated to use both Microsoft’s Visual Studio .NET 2005 and the 2008 compiler. Both sets of projects are included in the samples.
Advanced Data Structures in C++ comes in Adobe pdf files. One file contains the entire book. There are also individual chapter pdf files. All of the sample programs are provided as well as the test data needed for some of the programming assignments are provided. If you do not have the Adobe Reader, Get Adobe Reader by clicking this link.
If you wish to obtain a free review/exam copy for your college, please email me with full details, including the class in which the book would be used and your school.
For more information contact Broquard eBooks via:
Mail: 103 Timber Ln, East Peoria, IL 61611 USA
Tel: (309) 839-0083