January 5 | Course overview | --- |
January 7 | Introduction | Chapter 1 |
January 12 | Asymptotic notation | Section 2.1 |
January 14 | Recurrences | Chapter 4 |
January 19 | Heap-Sort | Chapter 7 |
January 21
|
Heap-Sort
Quick-Sort |
Chapter 8 |
January 26 | Quick-Sort | |
January 28
|
Lower bound for sorting
Counting-Sort |
Section 9.1
Section 9.2 |
February 2
|
Radix-Sort
Stacks and queues |
Section 9.3
Section 11.1 |
February 4
|
Stacks and queues
Binary search trees |
Sections 13.1-13.3 |
February 9 | Binary search trees | |
February 11 | EXAM #1 | --- |
February 16 | Disjoint sets | Sections 22.1-22.3 |
February 18 | Disjoint sets | |
February 23
|
Representing graphs
Breadth-fist search |
Section 23.1
Section 23.2 |
February 25
|
Breadth-first search
Depth-first search |
Section 23.3 |
March 2
|
Topological sort
Spanning trees |
Section 23.4
Chapter 24 |
March 4 | Spanning trees | |
March 16
|
Dijkstra's shortest paths
Shortest paths in DAG |
Section 25.2
Section 25.4 |
March 18
|
Shortest paths in DAG
Matrix chains |
Section 16.1 |
March 23
|
Matrix chains
Common subsequence |
Section 16.3 |
March 25 | EXAM #2 | --- |
March 30 | Common subsequence | |
April 1
|
Greedy algorithms
Huffman codes |
Sections 17.1 and 17.2
Section 17.3 |
April 6
|
Huffman codes
Naive string matching Rabin-Karp matching |
Section 34.1 Section 34.2 |
April 8 | Rabin-Karp matching | |
April 13 | Finite-automata matching | Section 34.3 |
April 15 | Finite-automata matching | |
April 20 | NP problems | Section 36.2 |
April 22
|
NP problems
Examples of NP NP-completeness |
Section 36.5 Section 36.3 |