Introduction to ADTs and Data Structures
Weiss 3.1, 3.2, 3.4
Stacks and Queues
Weiss 3.5, 3.6, 3.7
Maps and Iterators
Weiss 3.3
Introduction to Asymptotic Analysis
Weiss 1.2, 2.1 - 2.4.2
Algorithm Analysis and Modeling
(roughly) Weiss 2.4.3, 2.4.5
More Definitions, Modeling Complex Algorithms
Algorithm Analysis 2 (Recurrences)
Master Theorem, Binary Search Trees, and AVL Trees
Weiss 4.3
AVL Tree Rotations
Weiss 4.4.1 - 4.4.2
Hashing - Separate Chaining
Weiss 5.1 - 5.5
Hashing - Open Addressing, Double Hashing
Weiss 5.1 - 5.3
-
HW3 Partner Form Due 12pm
-
HW2 Part 2 Due
-
HW3 Out
Binary Heaps and Floyd's Build Heap
Weiss 6.1 - 6.3
Heaps (and more hashing + recurrences)
Midterm Review (livestreamed due to "snow morning")
No Lecture (Presidents Day)
Memory, Sorting, Design Decisions
Introduction to Graphs
Weiss 9.1
Shortest Path
Weiss 9.3.1, 9.6
Dijkstra's implementation and runtime analysis
Weiss 9.3.2
Minimum Spanning Trees (MSTs)
Weiss 9.5
Intro to Disjoint Sets
Weiss 8.1 - 8.7
Disjoint Set Optimizations, Graph Representations
Weiss 8.1 - 8.7
Topological Sort and Strongly Connected Components
Weiss 9.2, 9.5
Combining Graph Algorithms
Final Review
-
HW7 Due
-
Lecture / course online evaluation due (optional, recommended)
Final Exam (SMI 120, 8:30am)
Note that content for future lectures is subject to change.