Date |
Topics & Lecture Notes (See below for
color codes for credits for lecture notes.) |
Readings (from [CLRS] unless otherwise noted) |
|
Mon Aug 26 |
Introduction: Introduction
to Algorithms ps
pdf Auxiliary Notes: |
1, 2, [GKP, 1.1-1.2] |
|
Wend Aug 28 |
Mathematical foundations: Growth
of functions, summations ps
pdf Auxiliary Notes: |
3, Appendix A, |
|
Wend Sept 4 |
Mathematical foundations: Strassen's
algorithm, Master method for recurrence ps
pdf Auxiliary Notes: |
4.0-4.2, (4.3-4.4, but read lecture notes instead) |
|
Fri Sept 6 |
Randomized and Average-Case Analysis |
Appendix C.2-C.3 |
|
Mon Sept 9 |
Sorting: Introduction to Quicksort ps pdf Applications of Sorting ps pdf Auxiliary Notes: |
7, 8 |
|
Wend Sept 11 |
Priority Queues: Auxiliary Notes: |
6 |
|
Mon Sept 16 |
Sorting: Linear
time selection, median lower bound ps
pdf Median and Order Statistics ps pdf Auxiliary Notes: |
9, [Baase, 3.4] |
|
Wend Sept 18 |
Sorting: Lower
bound in decision tree model, bucket and radix sort ps
pdf Auxiliary Notes: |
8.0-8.3 |
|
Mon Sept 23 |
Searching: Search
trees, red-black trees ps
pdf Red-Black tree Rotation, Insertion, Deletion
ps pdf Auxiliary Notes: Example Red-Black tree problem ps pdf |
10, 12.0-12.3, (13, but read lecture notes instead)
14, [deBerg, 10.1] |
|
Wend Sept 25 |
Searching: Introduction to Hash Tables ps pdf Auxiliary Notes: elementary data structures ps pdf |
5.0-5.2, 5.4.1, 8.4 |
|
Mon Sept 30 |
Review of Searching and Sorting Algorithms(TA Tingting Jiang)
|
|
|
Wend Oct 2 |
Mid Term Exam |
|
|
Mon Oct 7 |
Amortized analysis: Aggregate
analysis, potential method, binary counter, dynamic table ps
pdf Amortized analysis: Auxiliary Notes: |
17 |
|
Wend Oct 9 |
Model,
basic upper and lower bounds, sorting, B-trees ps
pdf Auxiliary Notes: [Vitter] The Input/Output Complexity of Sorting and Related Problems
pdf,
External Memory Algorithms and Data Structures: Dealing with
MASSIVE Data ps
pdf, Arge: [Arge]
Lower bound on external sorting, |
|
|
Wend Oct 16 |
Dynamic
programming Matrix chain multiplication ps
pdf introduction to dynamic programming ps pdf dynamic programming applications ps pdf Auxiliary Notes: Example dynamic programming problem ps pdf |
|
|
Mon Oct 21 |
Design
paradigms: |
16.0-16.3 |
|
Wend Oct 23 |
Graph
algorithms: Model,
basic algorithms, DFS, BFS, topological sort, strongly connected components
ps
pdf Graph Algorithms using Depth First Search
ps pdf data structures for graphs ps pdf Auxiliary Notes: |
22 Appendix B.4-B.5 |
|
Mon Oct 28 |
Graph
algorithms: Minimum
spanning trees, Union-Find ps
pdf Minimum Weights Spanning Tree ps pdf Data Structures for Disjoint Sets ps pdf Auxiliary Notes: |
23, 21.0-21.3 |
|
Wend Oct 30 |
Graph
algorithms: shortest path algorthms ps pdf Shortest Paths Problems ps pdf All-pairs Shortest Paths ps pdf Auxiliary Notes: |
24.0-24.3, 25.2 |
|
Mon Nov 4 |
Graph
algorithms: Auxiliary Notes: |
26.2-26.3 |
|
Wend Nov 6 |
Graph
Algorithms: Flow Networks, continued ps pdf Auxiliary Notes: |
26.0-26.2 |
|
Mon
Nov 11 |
Review Lecture by Prof. Reif | ||
Wend Nov 13 |
Mid Term Exam | ||
|
Fast Fourier Transform: Polynomials and the Fast Fourier Transform
ps pdf Auxiliary Notes: |
30 |
|
|
Number Theory and
Cryptography Algorithms: |
31 |
|
25 |
Approximation Algorithms: Approximation
Algorithms ps
pdf Approximately Correct Algorithms ps pdf Auxiliary Notes: |
35.0-35.3 |
|
Sat Dec 14 |
Final Exam 2 pm to
5 pm |
|
|
Color Codes for Credits for lecture
notes:
John Reif /
Duke University / reif@cs.duke.edu