| Dates | Topics | Chapters in Textbook | Homeworks (Due: Thursday 5:30pm) |
| Week
1 January 9-13 |
- Review of time complexity of algorithms and
asymptotic notation; upper and lower bounds on algorithm complexity. - Abstract data types. |
1, 2, 3 | |
| Week
2 January 16-20 |
- Priority queues: heaps.
- Priority queues: mergeable heaps. |
6 |
1 out |
| Week
3 January 23-27 |
- Dictionaries.
- Binary search trees; balanced search trees. |
12.1, 12.2, 12.3 |
|
| Week
4 January 30 - February 3 |
- Balanced search trees (cont'd).
- Augmenting data structures. |
AVL trees class notes, 14 | 1 due, 2 out |
| Week
5 February 6-10 |
- Hashing: basic definitions.
- Hashing: probabilistic analysis of hashing with chaining. |
11 | |
| Week
6 February 13-17 |
- Disjoint sets. | 21 | 2 due |
| February 20-24 | Reading
Week |
Reading
Week |
|
| Week
7 February 27 - March 2 |
- Amortized analysis.
- Dynamic tables. |
17 | Midterm Thursday, March 1 at 8pm in the evening 3 out |
| Week
8 March 5-9 |
- Graphs: basic definitions and data
structures.
- Graphs: breadth-first search and applications. |
22 | |
| Week
9 March 12-16 |
- Graphs: depth-first search and applications. | 22 | 3 due, 4 out |
| Week
10 March 19-23 |
- Graphs: Minimum spanning trees and applications | 23, 35.2 |
|
| Week
11 March 26-30 |
- Deterministic algorithms with probabilistic inputs versus randomized algorithms: Quicksort. | 5, 7 | |
| Week
12 April 2-6 |
- Lower bounds: decision trees; lower bounds for
sorting. - Lower bounds: adversary arguments; lower bounds for the MIN-MAX problem. |
8.1, 9.1 | 4 due |