Saint Louis University |
Computer Science 314
|
Dept. of Math & Computer Science |
Also note: For each lecture, we denote both a topic as well as the associated reading in the textbook. The live link on the 'topic' leads to a page of my personal notes for that lecture. Those personal notes are not nearly as complete or polished as the associated readings from the text. In truth, they exist mostly to provide a brief outline of the day's lecture. Students are expected to read the associated sections of the text. In cases where my notes include material which is not explicitly in the text, I will add the word "notes" to the explicit reading list.
Week | Day | Topic | Reading |
---|---|---|---|
Prerequisites | Ch. 1, 2, 10 | ||
Aug 27-31 | Mon |
Introduction,
Maximum Subarray Problem |
|
Wed | Maximum Subarray Problem | notes, Ch 4.1 | |
Fri |
Asymptotics
Divide-and-Conquer, Recurrences |
Ch. 3
Ch. 4 |
|
Sep 3-7 | Mon | No Class: Labor Day | |
Wed | Solving Recurrences, Master Theorem | Ch. 4 | |
Fri | Amortization | Ch. 17 | |
Sep 10-14 | Mon | Amortized Analysis of Dynamic Tables | Ch. 17.4 |
Wed | Competitive Analysis of Self-Organizing Lists |
CLRS Problem 17-5
(author's notes) |
|
Fri |
Introduction to Dynamic Programming Rod cutting problem |
notes, Ch 15.1 | |
Sep 17-21 | Mon | Dynamic Programming: Matrix-Chain Multiplication | Ch. 15.2, 15.3 |
Wed | Dynamic Programming: Longest Commons Subsequence | Ch. 15.4 | |
Fri | Dynamic Programming: Optimal Binary Search Trees, Bitonic Euclidean TSP | Ch. 15.5, Problem 15-3 | |
Sep 24-28 | Mon | Greedy Algorithms: (Weighted) Activity Selection | Ch. 16.1, Exercise 16.1-5 |
Wed |
Greedy: Activity Partitioning, Knapsack Problem, (Moving Adventure) |
Exercise 16.1-4, Ch. 16.2, asgn04 soln |
|
Fri | Greedy: Huffman Codes |
Ch. 16.3
demo |
|
Oct 1-5 | Mon |
Graphs Representations |
App B.4 Ch. 22.1 |
Wed |
Breadth-First Search
Depth-First Search |
Ch. 22.2
Ch. 22.3 (examples) |
|
Fri | Properties of DFS, Topological Sorting | Ch. 22.3, 22.4 | |
Oct 8-12 | Mon | Strongly-Connected Components | Ch. 22.5 |
Wed | Minimum Spanning Tree Algorithms (Kruskal's, Prim's) | Ch. 23 | |
Fri | Data Structures for Disjoint Sets | Ch. 21 | |
Oct 15-19 | Mon | Review Day: hw5 solutions | |
Wed | Midterm Exam (info) | ||
Fri | No Class: (Unofficial) Fall Break | ||
Oct 22-26 | Mon | No Class: Fall Break | |
Wed | Shortest Paths | Ch. 24.1 | |
Fri |
Dijkstra's Algorithm
Shortest Path in DAG |
Ch. 24.2-24.3 | |
Oct 29-Nov 2 | Mon | Difference Constraints |
Ch. 24.4
asgn07 |
Wed | All-pairs Shortest Path algorithms | Ch. 25.1, 25.2 | |
Fri |
Johnson's reweighting algorithm
(and some extemporaneous discussion of Exercise 24.3-8, Problem 24-4) |
Ch. 25.3 | |
Nov 5-9 | Mon |
Maximum Flow
Ford-Fulkerson Algorithm |
Ch. 26
(examples) |
Wed |
Max-Flow Min-Cut Theorem
Algorithm Efficiency Edmonds-Karp |
||
Fri | Variants/Applications of Maximum Flow | ||
Nov 12-16 | Mon | Comparison-Based Lower Bounds | Ch. 8.1, 9.1 |
Wed | Intro to Complexity Theory; NP-completeness |
Ch. 34.1, 34.2
Auxillary notes from Jeff Erickson |
|
Fri | Circuit Satisfiability | Ch. 34.3 | |
Nov 19-23 | Mon | Polynomial-time reductions | Ch. 34.3-34.5 |
Wed | No Class: Thanksgiving | ||
Fri | |||
Nov 26-30 | Mon |
Approximation Algorithms
(Vertex Cover, TSP) |
Ch. 35.1-35.2 |
Wed |
Approximation Algorithms
(Set Cover) |
Ch. 35.3
(examples) |
|
Fri |
Approximation Algorithms
(Subset-Sum) |
Ch. 35.5 | |
Dec 3-7 | Mon |
Beating Comparison-Based lower bounds
Sorting, Priority Queues |
Ch. 8, 20 |
Wed | van Emde Boas Trees | Ch. 20 | |
Fri | van Emde Boas Trees | Ch. 20 | |
Dec 10 | Mon | Review, Course Evaluations | |
Dec 14 | Fri |
Final Exam
(12:00-1:50) (info) |