Topics

Topic Readings
"Smart" pointers Module 4 up through "Heap memory"
.h files
ADTs textbook §1.2
Algorithmic efficiency textbook §4.2
Array List, Linked List revisited
Array-based stack implementation textbook §6.1
BST analysis
BST remove textbook §11.4.3
BST remove, cont'd
Backtracking
Balance, rotation
Big-O notation textbook §4.5
Binary search
Binary search trees textbook §11.4-11.4.2
Classes and methods
Classic ADTs
Comparing algorithms
Comparing implementations textbook §10.2
Design and specification
Dynamic allocation "Unique pointers" and "Dynamically allocated arrays"
Exceptions
Faster sorts: mergesort textbook §8.9-8.10
Faster sorts: quicksort textbook §8.11
Fibonacci
Hash tables CS3 §10.1-10.4
Heaps CS3 §7.17
Hierarchies
Implementing an ADT textbook §3.2-3.2.1
Inheritance textbook §2.1
Inheritance part 1: type inheritance, is-a vs has-a
Introductions
Lab 10: Overloading operators
Lab 11: Linked trees textbook §16.1-16.2
Lab 12: BST implementation
Lab 1: Review and mastery
Lab 2: Classes
Lab 3: Function design
Lab 4: Pointers
Lab 5: Linked node methods
Lab 6: Reading code
Lab 7: Using STL stacks
Lab 8: Empirical efficiency
Lab 9: Interfaces and multiple implementations
Lab: DT/Alg implementation
Lab: DT/Alg implementation
Linked Queue textbook §9.1.1, textbook §9.2
Linked list textbook §9.1
Linked list implementation (continued)
Linked nodes
Linked stacks textbook §6.2
Lists textbook §3.1
Maps/Dictionaries CS3 §6.4, CS3 §7.12
Mergesort cont'd
Model presentation and debrief
Object-oriented design textbook §2.1-2.1.1.1
Other uses of stacks
Pointers
Policies
Presentation work day
Presentations
Presentations
Quadratic sorts textbook §Ch. 7
Queues
Recursion textbook §7.1-7.2
Recursive algorithms
Recursive backtracking
Review of allocation, references, and memory models
Stacks and recursion
Templates
Testing
The "big picture"
The call stack
Tower of Hanoi textbook §7.7
Traversals
Tree implementation
Trees textbook §11.1-11.3
UML textbook §2.2
Unit testing
What is a data structure? textbook §1.1
append, remove textbook §3.2.2
is-a / has-a
make, gdb