August 24 | Course overview | --- |
August 26 | Introduction | Chapter 1 |
August 31
. |
Introduction
Math review |
Section 2.2 |
September 2 | Asymptotic notation | Section 2.1 |
September 7 | Recurrences | Chapter 4 |
September 9
. |
Recurrences
Heap-Sort |
Chapter 7 |
September 14
. |
Heap-Sort
Quick-Sort |
Sections 8.1-8.3 |
September 16 | Quick-Sort | |
September 28
. |
Counting-Sort
Radix-Sort |
Section 9.2
Section 9.3 |
September 30
. |
Stacks and queues
Binary search trees |
Section 11.1
Sections 13.1-13.3 |
October 5 | Binary search trees | |
October 7 | EXAM #1 | --- |
October 12
. |
Binary search trees
Disjoint sets |
Sections 22.1-22.3 |
October 14 | Disjoint sets | |
October 19
. |
Representing graphs
Breadth-first search |
Section 23.1
Section 23.2 |
October 21
. |
Breadth-first search
Depth-first search |
Section 23.3 |
October 26
. |
Depth-first search
Topological sort Spanning trees |
Section 23.4 Chapter 24 |
October 28 | Spanning trees | |
November 2 | Dijkstra's shortest paths | Section 25.2 |
November 4 | EXAM #2 | --- |
November 9
. |
Dijkstra's shortest paths
Shortest paths in DAG |
Section 25.4 |
November 16 | Matrix chains | Section 16.1 |
November 18
. |
Matrix chains
Common subsequence |
Section 16.3 |
November 23 | Greedy algorithms | Sections 17.1 and 17.2 |
November 30 | NP problems | Section 36.2 |
December 2
. |
Examples of NP
NP-completeness |
Section 36.5
Section 36.3 |