Useful links, animations, etc:
Other undergraduate algorithm classes on the web:
Date | Topic | Reading, Notes | Other WWW useful material | Assignments |
Sept 5, 7, 12, 14, 19 | Introduction. Mathematical foundations. Asympthotic growth, summations, recurrences. | CLRS chapter 1, 2, 3, 4, A.1 | Why
algorithms? (Sedgewick, Princeton)
Program analysis (Princeton) Zeno's paradoxes. |
Reading on induction.
H1.pdf (due Mon Sept 26) |
Quiz 1 | ||||
Sept 21 | Priority queues: Heaps. Heapsort. | CLRS chapter 6 | ||
Sept 26, 28, Oct 3, 5 | Divide-and-Conquer
|
CLRS chapter 7, 9, 28.1, 28.2, 33.4 |
Merge (Princeton)
Mergesort (Princeton) Divide-and-conquer (Princeton) Matrix multiplication (Princeton) Closest pair (Princeton) | Demo-partition | 3way partition (Princeton) |
H2.pdf (due Wed Oct 12) |
Oct 12, 17 | Sorting lower bounds. Linear time sorting (counting sort, radix sort, bucket sort) |
CLRS chapter 8 | ||
Oct 10 | Fall break. | |||
Oct 17, 19 | Binary search trees. Red-black trees. | CLRS 12, 13, 14, 26 | Animations: Binary tree | Binary tree
| RedBlack
tree
RB Trees (MIT Open Courseware) | Animation | RB-trees (wiki) |
|
Oct 19, 24 | Exam review, Exam 1 | |||
Oct 26 | Augmented Red Black trees. | CLRS 12, 13, 14, 26 | Animations: Binary tree | Binary tree
| RedBlack
tree
RB Trees (MIT Open Courseware) | Animation | RB-trees (wiki) |
H3.pdf (due Nov 2) |
Oct 31, Nov 2 | Graphs
|
CLRS chapter 22 | Graph vizualizations (Sedgewick, Princeton)| CC | BFS | DFS | |
Nov 7, 9, 14 | Dynamic programming.
|
CLRS chapter 15, 25 | H4.pdf (due Nov 21) | |
Nov 16, 21, 28, 30 | Greedy algorithms.
|
CLRS chapter 16, 24.1, 24.2, 24.3 | Dijkstra/MST animation | another Dijkstra animation | Slides (Princeton) | UnionFind (Princeton) | Practice-Problems.pdf |
Nov 23-27 | Thanksgiving break | |||
Dec 5,7 | Exam review, Exam 2. | For other practice exams check links above.
Fun read: Pessimal algorithms (Broder, Stolfi) |