Module 1A Section 1 Downloading ADT Files
Module 1A Section Why We're Here
Module 1A Section 3 Timing is Everything
Module 1A Section 4 Our First Lab Rat: iTunes
Module 1A Section 5 Search: The First Main Task
Module 1A Section 6 Inserting and Sorting
Module 1A Section 7 Analysis
Module 1A Section 8 An Algorithm
Module 1A Section 9 For Mac Users
Module 1B Section 1 Function Templates
Module 1B Section vectors
Module 1B Section 3 Iterators
Module 1B Section 4 Benchmarking STL vector
Module 1B Section 5 vectors vs. Arrays: The Listing
Module 1B Section 6 A Step Toward Templates
Module 1B Section 7 Review of Class Templates, Continued
Module 1B Section 8 Applying the Template to Other Types
Module 1B Section 9 Application to the Subset Sum Problem
Module 2A Section 1 A Constant Cause of Compiler Errors
Module 2A Section The First Real C++ Data Structure Project
Module 2A Section 3 Pushing and Popping to/from a vector
Module 2A Section 4 Using and Benchmarking vectors
Module 2B Section 1 Linked Lists
Module 2B Section Phase 1 Implementation Without Iterators
Module 2B Section 3 Adding Iterators
Module 2B Section 4 Completing the FHlist Class
Module 2B Section 5 Building On Top of ArrayLists: The Stack
Module 2B Section 6 Building On Top of lists: An iTunes Application
Module 2B Section 7 Sparse Matrices
Module 3A Section 1 Big Oh
Module 3A Section Getting a Tighter Fix on Growth Rates
Module 3A Section 3 Big-Oh Estimations From Code
Module 3A Section 4 Theta Estimations From Code
Module 3A Section 5 Confirmation
Module 3B Section 1 Analyzing Binary Search
Module 3B Section Logarithmic Running Times
Module 3B Section 3 Exponential Running Times
Module 3B Section 4 Stars Near Earth
Module 3B Section 5 Stars On Your Console
Module 4A Section 1 General Trees
Module 4A Section Analysis of Recursive Tree Methods
Module 4A Section 3 Traversals and Functors
Module 4A Section 4 Deep Copies, Copy Constructors and Assignment
Module 4B Section 1 Binary Trees
Module 4B Section Binary Search Tree Completed
Module 4B Section 3 Searching Project Gutenberg
Module 4B Section 4 Analysis and Discussion of BST
Module 4B Section 5 Lazy Deletion
Module 5A Section 1 AVL Trees
Module 5A Section Single Rotation Practice
Module 5A Section 3 Double Rotation
Module 5A Section 4 Implementing Rotation
Module 5A Section 5 Implementing Insertion
Module 5A Section 6 Implementing Removal
Module 5B Section 1 Inheritance and Generics
Module 5B Section Completion of the Avl Tree Implementation
Module 5B Section 3 Threaded Binary Trees
Module 5B Section 4 Top Down Splaying
Module 5B Section 5 Splay Pictures
Module 5B Section 6 Splay Algorithms and Closing Tree Remarks
Module 6A Section 1 Hashing Fundamentals
Module 6A Section Hashing Functions
Module 6A Section 3 Implementing Separate Chaining
Module 6B Section 1 Open Addressing
Module 6B Section Quadratic Probing
Module 6B Section 3 Implementing Quadratic Probing
Module 6B Section 4 Find() in Hash Tables
Module 7A Section 1 Priority Queues and Binary Heaps
Module 7A Section Implementing Binary Heaps
Module 7A Section 3 Remove and Percolate Down
Module 7A Section 4 Order Heap and the Array Constructor
Module 7B Section 1 orderHeap() Performance
Module 7B Section Heap Sort
Module 8A Section 1 insertionSort
Module 8A Section STL-Style Algorithm Functions
Module 8A Section 3 shellSort
Module 8A Section 4 Improving shellSort
Module 8B Section 1 mergeSort On Arrays
Module 8B Section mergeSort On Vectors
Module 8B Section 3 Analysis of mergeSort
Module 8B Section 4 Heapsort, Again
Module 9A Section 1 quickSort
Module 9A Section Coding quickSort
Module 9A Section 3 quickSort Observations
Module 9A Section 4 Indirect Sort
Module 9A Section 5 Smart Pointers
Module 9A Section 6 Indirect Sort Completed
Module 9B Section 1 STL Sets and Pairs
Module 9B Section STL Maps
Module 9B Section 3 STL Priority Queues
Module 9B Section 4 STL Stacks and Flexible Ordering Operators
Module 10A Section 1 Motivating the Graph
Module 10A Section Minimum Spanning Trees
Module 10A Section 3 Graph Data Structures
Module 10A Section 4 The FHvertex
Module 10A Section 5 The FHedge
Module 10A Section 6 The FHgraph
Module 10B Section 1 The Dijkstra Algorithm
Module 10B Section Analyzing Dijkstra
Module 10B Section 3 The Dijkstra Implementation
Module 11A Section 1 Minimum Spanning Trees
Module 11A Section Kruskal
Module 11A Section 3 Analyzing Kruskal
Module 11A Section 4 Implementing Kruskal
Module 11A Section 5 Full Kruskal Source
Module 11B Section 1 The Maximum Flow Problem
Module 11B Section Final Remarks
Section 1 - Git
Section 2 - Using Git to Track a Project
Section 3 - GitHub and Remote Collaboration