Date |
Topics & Lecture Notes (See below for color codes
for credits for lecture notes.) |
Readings (from [CLRS] unless otherwise noted) |
|
Tues Aug 24 |
Introduction: Introduction
to Algorithms ps
pdf Auxiliary Notes: |
1, 2, [GKP, 1.1-1.2] |
|
Thurs Aug 26 |
Mathematical foundations: Growth
of functions, summations ps
pdf Auxiliary Notes: |
3, Appendix A, |
|
Tues Aug 31 |
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) |
|
Thurs Sept 2 |
Sorting: Linear
time selection, median lower bound ps
pdf Median and Order Statistics ps pdf Auxiliary Notes: |
9, [Baase, 3.4] | |
Tues Sept 7 |
Sorting: Lower
bound in decision tree model, bucket and radix sort ps
pdf Auxiliary Notes: Examples of Sorting Lower Bounds ps pdf |
8.0-8.3 | |
Thurs Sept 9 |
Priority Queues: Auxiliary Notes: |
6 |
|
Tues Sept 14 |
(Reif on travel. Lecture to be taken by TA) Probabilistic Algorithms ps pdf |
Appendix C.2-C.3 | |
Thurs Sept 16 |
Quiz on Recurrence Equations and Deterministic Sorting |
||
Tues Sept 21 |
Sorting: Introduction to Quicksort ps pdf Applications of Sorting ps pdf Auxiliary Notes: Randomized Algorithms for Selection
and Sorting ps pdf |
7, 8 |
|
Thurs 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] |
|
Tues Sept 28 |
Searching: Introduction to Hash Tables ps pdf Auxiliary Notes: elementary data structures ps pdf |
5.0-5.2, 5.4.1, 8.4 |
|
Thurs Sept 30 |
Amortized analysis: Aggregate
analysis, potential method, binary counter, dynamic table ps
pdf Amortized analysis: Auxiliary Notes: |
17 |
|
Tues Oct 5 |
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, |
|
|
Thurs Oct 7 |
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 |
|
|
Tues Oct
12 |
Fall Break (No Class) |
||
Thurs Oct
14 |
Mid Term Exam # 1 |
. | |
Tues Oct 19 |
Design paradigms: |
16.0-16.3 |
|
Thurs Oct 21 |
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 |
|
Tues Oct 26 |
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 |
|
Thurs Oct 28 |
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 |
|
Tues Nov 2 |
Graph algorithms: Auxiliary Notes: |
26.2-26.3 |
|
|
Graph Algorithms: Flow Networks, continued ps pdf Auxiliary Notes: |
26.0-26.2 |
|
Tues Nov 9 |
Mid Term Exam #2 | ||
Thurs Nov 11 |
Fast Fourier Transform: Polynomials and the Fast Fourier Transform
ps pdf Auxiliary Notes: |
30 |
|
Tues Nov 16 |
Number Theory and Cryptography Algorithms: |
31 |
|
Thurs Nov
18 |
Approximation Algorithms: Approximation
Algorithms ps
pdf Approximately Correct Algorithms ps pdf Auxiliary Notes:: |
35.0-35.3 |
|
Tues Nov 23 | Overview Lecture | ||
Fri Dec 10 |
Final Exam |
|
|
Color Codes for Credits for lecture notes:
John
Reif / Duke University / reif@cs.duke.edu