Text
C++ plus data structures
Table of contents:
1. Software engineering principles
1.1. The software process
1.2. Program design
1.3. Design approaches
1.4. Verification software of correctness
2. Data design and implementation
2.1. Different views of data
2.2. Abstraction and built-in types
2.3. Higher-level abstraction and the C++ class type
2.4. Constructs for program verification
2.5. Comparison of algorithms
3. ADT unsorted list
3.1. Lists
3.2. Abstract data type unsorted lists
3.3. Pointer types
3.4. Implementing class unsortedtype as a linked structure
3.5. Comparing unsorted list implementations
4. ADT sorted list
4.1. Abstract data type sorted lists
4.2. Dynamically allocated arrays
4.3. Implementing the sorted list as a linked structure
4.4. Comparison of unsorted and sorted list ADT algorithms
4.5. Bounded and unbounded ADTs
4.6. Object-oriented design methodology
5. ADTs Stack and Queue
5.1. Stacks
5.2. Implementing a stack as a linked structure
5.3. Queues
5.4. Implementing a queue as a linked structure
6. Lists plus
6.1. More about generics: C++ templates
6.2. Circular linked lists
6.3. Doubly linked lists
6.4. Linked lists with headers ad trailers
6.5. Copy structures
6.6. A linked list as an array of records
6.7. Polymorphism with virtual functions
6.8. A specialized list ADT
7. Programming with recursion
7.1. What is recursion?
7.2. The classic example of recursion
7.3. Programming recursively
7.4. Verifying recursive functions
7.5. Writing recursive functions
7.6. Using recursion to simplify solutions
7.7. Recursive linked list processing
7.8. A recursive version of binary search
7.9. Recursive versions of PutItem and DeleteItem
7.10. How recursion works
7.11. Tracing the execution of recursive function
7.12. Debugging recursive routines
7.13. Removing recursion
7.14. Deciding whether to use recursive solution
8. Binary search trees
8.1. Trees
8.2. Logical level
8.3. Application level
8.4. Implementation level
8.5. Recursive binary search tree operations
8.6. Iterartive insertion and deletion
8.7. Comparing binary search trees and linear lists
8.8. A nonlinked representation of binary trees
9. Priority queues, heaps, graphs and sets
9.1. ADT priority queue
9.2. Heaps
9.3. Graphs
9.4. Sets
10. Sorting and searching algorithms
10.1. Sorting
10.2. Searching
10.3. Hashing
10.4. Radix sort
No other version available