*The lecture notes have been adapted from the notes of Lars Arge.
Date | Topic | Reading, Notes* | Homework** |
Aug 30 | Introduction and overview.
Insertion sort. |
L01.pdf | CLRS 1, 2.1-2.2
Joke of the day (replace 'grad' with 'undergrad') |
|
Asymptotic growth of functions, recurrences, summations. | |||
Sep 4 | Mergesort. Asymptotic growth. | L02.pdf | CLRS 2.3, 3 | H1.pdf |
Sep 6 | Asymptotic growth, continued. | L03.pdf | CLRS A, 4.1 | |
Sep 11 | Summations. Zeno's paradoxes. | L04.pdf | CLRS 4.1-4.2
Zeno's paradoxes |
H2.pdf |
Sep 13 | Recurrences. | L05.pdf | CLRS 4.3-4.4, 7.1-7.2 | |
Sep 18 | Recurrences, Master method, Strassen's matrix multiplication algorithm. | ||
Sorting (insertion sort, mergesort, selection sort, quicksort).
Sorting lower bounds. Linear time sorting (counting sort, radix sort, bucket sort). |
|||
Sep 20 | Quicksort. | L06.pdf | CLRS 7.3-7.4, C.2 | |
Sep 25 | Sorting lower bounds. Linear time sorting. | L07.pdf | CLRS 8 | H3.pdf |
Sept 26 evening | Problem session --- recurrences and summations. | skipped, not needed | |
Selection. | |||
Sep 27 | Selection. | L08.pdf | CLRS 9 | |
Priority queues: heap. | |||
Oct 2 | Heaps. Heapsort. | L09.pdf | CLRS 6 | H4.pdf |
Dictionary: binary search tree and augmented BST. | |||
Oct 4 | Binary search trees.
|
L10.pdf | CLRS 10, 12.1-12.3 | |
Oct 6-9 | Fall break | ||
Oct 10 evening | Exam review (L1-L10) | Practice exam fall03
For other practice exams check links |
|
Oct 11 | Exam 1 (L1-L10) | ||
Oct 16 | Exam hand back and discussion.
Skip lists. Hashing. |
L11.pdf | CLRS 11.1-11.3, handout [GT] | skiplists.pdf | |
Oct 18 | Hashing. | Hashing | Universal hashing (MIT Open courseware) | H6.pdf |
Oct 23 |
Red-black trees. |
L12.pdf | CLRS 13
RB Trees (MIT Open Courseware) Animation | RB-trees (wiki) |
|
Oct 25 | Augmented search trees. Interval tree. | L13.pdf | CLRS 14 | H7.pdf |
Dynamic programming and greedy algorithms. | |||
Oct 30 | Dynamic programming. | L15.pdf | CLRS 15.2-15.3 | |
Nov 1 | Greedy algorithms. | L16.pdf | CLRS 16.1-16.2 | H8.pdf |
??? evening | Problem session: Augmented search trees. | Some practice problems | |
Amortization. | |||
Nov 6 | Amortized Analysis. | L17.pdf | CLRS 17.1-17.3 | |
Nov 8 | Splay trees. | L18.pdf | animation
handout [Kozen] |
H9.pdf |
Nov 14 evening | Problem session: Dynamic programming and greedy algorithms. | Problems Some fun practice problems pdf1 | pdf2 from Harvey-Mudd College. |
|
Nov 13 | Exam Review (L11-18) | Practice: 231 Fall 2003 | Sol
For other practice exams check links Pessimal algorithms (Broder, Stolfi) |
|
Graph algorithms. | |||
Nov 15 | Basic graph algorithms: BFS, DFS. | basicgraph.pdf | CLRS B.4-B.5, 22.1-22.4 | H10.pdf |
??? evening | Problem session: Amortized analysis and exam 2 review. | Practice exam: 231 Fall 2003 | Sol | |
Nov 20 | Exam 2 (L11-18) | ||
Nov 22 | Thanksgiving break | ||
Nov 27 | Graphs. Topological sort. | CLRS 22.1-22.4
DFS applet | BFS applet |
|
Nov 29 | Shortest paths. | shp.pdf | CLRS 24.0, 24.3
Dijkstra animation | Slides (from R. Sedgewick, Princeton) |
H11.pdf |
Dec 4 | Minimum spanning trees. Union-find. | mst.pdf | CLRS 23, 21.1-21.3
Graph vizualizations (from R. Sedgewick, Princeton) |
|
Dec 6 | Last class. Review, etc | UnionFind (from R. Sedgewick, Princeton)
Longest path (from Princeton) |
|
??? | Final review. | review.pdf | |
Dec 14, 9am, Searles 126 | Final Exam (L1-25) |