Useful links, animations, etc:
Date | Topic | Reading, Notes | Other WWW useful material | Assignments |
Sept 6 | Introduction | KT chapter 1 | Why algorithms? (Sedgewick, Princeton) | |
Sept 8, 13, 15 | Mathematical foundations
|
KT chapter 2 | Program analysis (Princeton)
Zeno's paradoxes. |
H1.pdf (due Mon Sept 27) |
Sept 20 | Priority queues: Heaps. Heapsort. | KT chapter 2 | ||
Sept 22, 27, 29 | Divide-and-Conquer
|
KT chapter 5 |
Merge (Princeton)
Mergesort (Princeton) Divide-and-conquer (Princeton) Matrix multiplication (Princeton) Closest pair (Princeton) | Demo-partition | 3way partition (Princeton) |
H2.pdf (due Wed Oct 13) |
Oct 4, 6 | Sorting lower bounds. Linear time sorting (counting sort, radix sort, bucket sort)
Binary search trees. Red-black trees. |
Animations: Binary tree | Binary tree | RedBlack tree | ||
Oct 11 | Fall break. | |||
Oct 13 | Augmented RB-trees. Skiplists. |
RB Trees (MIT Open Courseware) | Animation | RB-trees (wiki) | ||
Oct 18, 20 | Exam review, Exam 1 | |||
Oct 25, 27 | Graphs
|
KT chapter 3 | Graph vizualizations (Sedgewick, Princeton) | H3.pdf (due Fri Nov 5th) |
Nov 1, 3, 8, 10, 15 | Greedy algorithms.
|
KT chapter 4 (4.1, 4.4, 4.5, 4.6, 4.7) | Dijkstra/MST animation | another Dijkstra animation | Slides (Princeton) | UnionFind (Princeton) | H4.pdf (due Mon Nov 22nd) |
Nov 17, 22, 29 | Dynamic programming.
|
KT chapter 6 () | H5.pdf (due Mon Dec 6th) | |
Nov 24-28 | Thanksgiving break | |||
Dec 1, 6 | Topics: Amortization or network flow | |||
Dec 8 | Review. | For other practice exams check links.
Fun read: Pessimal algorithms (Broder, Stolfi) |
||
December ? | Final Exam |