Useful links:
*The lecture notes have been adapted from the notes of Lars Arge.Date | Topic | Reading, Notes* | Other WWW useful material | Work |
Sept 4 | Introduction and overview.
Sorting: Insertion sort. Bubblesort. Selection sort. |
L01.pdf CLRS 1, 2.1-2.2 |
Why? (Sedgewick, Princeton)
Animated sorting algorithms |
|
Sep 9 | Asymptotic growth.
Summations. Zeno's paradoxes. |
growth.pdf |
summations.pdf
CLRS 2.3, 3, 4.1-4.2 |
Program analysis (Princeton) | In class: sum | growth
Home: H1-growth.pdf |
Sep 11, 16 | Recurrences. | recurrences.pdf
CLRS 4.3-4.4, 7.1-7.2 |
Demo: Merge (Princeton) | Mergesort (Princeton) | H2-recurrences.pdf |
Sep 18 | Divide and conquer. | Divide And Conquer.pdf | Divide-and-conquer (Princeton)
Matrix multiplication (Princeton) Closest pair (Princeton) |
|
TBA | Problem session --- recurrences and summations. | |||
Sep 23, 25 | Quicksort. Sorting lower bounds. Linear time sorting (counting sort, radix sort, bucket sort). | quicksort.pdf |
sortLB.pdf
CLRS 7.3-7.4, 8, C.2 |
Demo-partition (Princeton) | H3-sorting.pdf |
Sep 30 | Selection. | selection.pdf
CLRS 9 |
H4-selection.pdf | |
Oct 2 | Priority queues: Heaps. Heapsort. | heaps.pdf | CLRS 6 | H5-heaps.pdf | |
Oct 7, 9 | Binary search trees. Skip lists. Exam Review. |
bst.pdf | CLRS 11, 12 | skiplists.pdf | |
TBA | Review and problems. | Practice exam fall03
For other practice exams check links |
||
Oct 10-14 | Fall break | |||
Oct 16 | Exam 1 | |||
Oct 21, 23 | Balanced search trees. Red-black trees.
Augmented search trees. Interval tree. |
RBtrees.pdf | augtrees.pdf | CLRS 13, 14 | RB Trees (MIT Open Courseware) | Animation | RB-trees (wiki) | H6-bsttrees.pdf |
Oct 28 | Hashing. | Hashing.pdf | Hashing | Universal hashing (MIT Open courseware) | |
Oct 30, Nov 4 | Dynamic programming. Greedy algorithms. | DynamicP.pdf | Greedy.pdf | CLRS 15.2-15.3, 16.1-16.2 | H7-DynamicGreedy.pdf | |
Nov 6, 11 | Amortized Analysis. Splay trees. | Amortization.pdf | SplayTrees.pdf | | CLRS 17.1-17.3 | Splay Animation | H8-amortized.pdf |
Nov 13 | Review and problems. | Practice: 231 Fall 2003 | Sol | For other practice exams check links.
Fun read: Pessimal algorithms (Broder, Stolfi) |
|
TBA | Review and problems: Augmented search trees, dynamic programming, greedy algorithms and amortized analysis. | Some problems: BST | DynP-Greedy | Amortization | Some fun problems pdf1 | pdf2 (from HMC). | |
Nov 18 | Exam 2 (L11-18) | |||
Nov 20, 25 | Basic graph algorithms: BFS, DFS, CC, topological sort. | basicgraph.pdf | CLRS B.4-B.5, 22.1-22.4 | DFS applet | BFS applet | |
Nov 26-30 | Thanksgiving break | |||
Dec 2, 4, 9 | Shortest paths. Minimum spanning trees. Union-find. | shp.pdf | mst.pdf | CLRS 23, 21.1-21.3, 24.0, 24.3 | Graph vizualizations (Sedgewick, Princeton) | Dijkstra animation | Slides (Princeton) | UnionFind (Princeton) | H9-graphs.pdf |
Dec 11 | Review and problems. | review.pdf | Longest path: wiki | lyrics | mp3 (Princeton) | |
TBA | Review and problems. | |||
December 19, 9am | Final Exam (everything) |