Week | Topics | Readings | Tutorial | Notes | |
---|---|---|---|---|---|
1 | Sept 11 | Course Introduction Review of time complexity of algorithms and asymptotic notation Abstract data types vs. data structures |
Ch. 1,2,3 | asymptotic bounds | Note on bounds (PDF) lecture notes |
2 | Sept 18 | Priority queues: heaps, mergeable heaps (binomial heaps) | Ch. 6, 19 | heapify and build-heap | lecture summary |
3 | Sept 25 | Dictionaries: binary search trees Dictionaries: balanced search trees (AVL trees) |
12.1-12.3, AVL notes (PS) |
AVL tree delete | lecture summary |
4 | Oct 2 | Augmenting data structures Hashing: basic definitions |
Ch. 14 | probability review | lecture summary |
5 | Oct 9 | Hashing: chaining, probabilistic analysis | 11.1-11.3.2, Ch. 5, 7 |
augmenting AVL trees | lecture summary |
6 | Oct 16 | Probabilistic vs. randomized algorithms: Quicksort Disjoint sets |
Ch. 21 | disjoint sets | lecture summary |
7 | Oct 23 | Disjoint sets Amortized analysis, dynamic tables |
Ch. 17 | past test questions | |
8 | Oct 30 | Midterm test Graphs: defintions, data structures | Appendix B.4 | amortized analysis | lecture summary |
9 | Nov 6 | Graphs: breadth-first search Graphs: single-source shortest-path |
Ch. 22 | Dijkstra's algorithm | BFS proof (PDF) (PS) lecture summary |
10 | Nov 13 | Graphs: depth-first search | Ch. 22 | topological sort | lecture summary |
11 | Nov 20 | Graphs: minimum spanning trees Graphs: approximating solutions |
Ch. 23, 35.2 | MST algorithms | Alternate MST proof (PS) lecture summary |
12 | Nov 27 | Lower bounds: decision trees Lower bound for sorting |
8.1 | proving lower bounds | lecture summary |
13 | Dec 4 | Lower bounds: adversary arguments Lower bounds for the MIN-MAX problem |
9.1 | past exam questions | lecture summary |
-- | Final exams -- December 10-21 -- check exam schedule |
All readings are from the course textbook, Cormen, Leiserson, Rivest & Stein, Introduction to Algorithms (2nd edition). MIT Press and McGraw-Hill (2001), ISBN: 0-262-03293-7
Some of the notes are in PostScript format only. If you need a PostScript viewer for home, Ghostscript and GSview are free for both Windows and Mac (you'll need to install both programs). On the lab computers, gv should handle PS files automatically.
Lecture schedule is subject to change as the term progresses. Please check back each week to confirm reading assignments.
Though CLRS is thick, heavy and expensive, it contains a LOT of good stuff on algorithms, data structures and algorithmic techniques that you will find useful in later courses and use as a reference once you graduate. Buying it is a good investment. The down-side is that is is at times hard to read and learn from, and they often go overboard with details and lose or obscure the "intuition" of an algorithm.
For more affordable hard-copy options, look on Amazon ($60) or sites that sell the cheaper paperback (overseas/international) version, such as CampusI.com or AbeBooks (site suggested by a past student), but be aware of the shipping cost, currency conversion and time.
|