Schedule
This schedule may be slightly adjusted as the semester progresses in
order to reflect what actually happens in class.
Week 1 (Aug 31, Sept 5, 7, 8):
Week 2 (Sept 12, 14, 15):
Week 3 (Sept 19, 21, 22):
Week 4 (Sept 26, 28, 29):
- Topics : Sorting lower bound. Sorting in linear time.
- Notes : sortLB.pdf |
ex |
linsort.pdf
- Internet:
- Reading: CLRS 8, 9
- Lab: Lab 4 (Fri Sept 29, sorting)
Week 5 (Oct 3):
Tue Oct 10: fall break!!
Week 6 (Oct 12, 13):
-
Thu Oct 12 (in-class): Exam 1 (covers everything up to and including linear-time sorting)
Lab: Lab 5 (Fri Oct 13, selection)
- Fri 10/13: Selection. Notes : Selection.pdf
Week 7 (Oct 17, 19, 20):
- Topics: Selection in worst-case linear time. The divide-and-conquer technique:
(Karatsuba's integer multiplication, Strassen, maximum partial sum).
Lab5 is due on Tuesday 10/24
- Notes: Strassen.pdf | Max-subarray.pdf
- Reading: CLRS 4.1, 4.2
- Lab: selection exercises | Lab 6 (Oct 20, divide-and-conquer)
Week 8 (Oct 24, 26, 27):
- Topics: Dynamic programming.
- Notes: BoardGame.pdf | Rod.pdf
- Internet:
- Reading: CLRS 15.1, 15.4
- Lab: Lab 7 (dynamic programming)
Week 9 (Oct 31, Nov 2, 3):
Week 10 (Nov 7, 9, 10):
- Topics: Graphs: graph basics and traversals (BFS, DFS). Traversal applications. Topological sort.
- Notes: Basics.pdf |
BfsDfs.pdf | traversal-applications.pdf | topsort.pdf
- Internet: Lecture slides
by Kevin Wayne.
- Reading: CLRS 22.1 - 22.3
- Lab: Exam 2 (emphasis on selection, divide and conquer and dynamic programming and greedy).
Week 11 (Nov 14, 16, 17):
- Topics: Shortest paths: SP in DAGs. Bellman-Ford and Dijkstra's algorithms.
- Notes: shpaths.pdf
- Internet: Dijkstra demo by Kevin Wayne.
- Reading: CLRS 24.1, 24.2, 24.3
- Lab: Lab 9 (graphs I, due Fri Dec 1)
Thanksgiving break!!
Week 12, 13 (Nov 21, 28, 30, Dec 1)
- Topics: Minimum spanning trees (Kruskal and Prim's algorithms). Union-find structure.
- Notes: MST.pdf
- Internet: Lecture slides | Kruskal demo | Prim demo by Kevin Wayne
- Reading: CLRS 23
- Lab: Lab 10 (graphs II) (due Friday Dec 8)
Week 14: (Dec 5, 7, 8)
- Topics:
Strongly connected components in linear time.
Review and algorithmic questions from technical interviews.
- Notes:
scc.pdf | review.pdf
- Internet:
Exam 3: Dec 18 at 9am in Searles 126 (emphasis on graphs).
Additional: (stuff we did not have time to cover)
- Binary search trees (review) and Red-black trees: bst.pdf | rb.pdf
- Augmented RB trees.
- Skip lists: skiplists.pdf
- More DP: Longest common subsequence (LCS): LCS
- Strongly connected components in linear time: scc.pdf
- Tries and string algorithms
- NP-completeness:
- e.g. Lecture slides by Kevin Wayne | Reading CLRS 22.4