Homepage
Instructor
Guidelines
Lectures
Assignments
Hard Problems
Blackboard
Resources

Lectures

  I. Introduction
Th, May 19 Introduction and Overview
Ch. 2 (opt)
F, May 20 Asymptotics
Ch. 3
M, May 23 Recurrences
Ch. 4.1-3

  II. Sorting
T, May 24 Quicksort
Ch. 7.1-3
W, May 25 Heapsort and Lower Bounds
Ch. 6, 8.1
Th, May 26 Linear-time Sorting
Ch. 8.2-4

  III. Searching
F, May 27 Binary Search Trees
Ch. 12.1-3
M, May 30 Red-black Trees
T, May 31 Hash Tables
Ch. 11.1-4
W, June 1 Skip Lists

  IV. Paradigms
Th, June 2 Dynamic Programming
Ch. 15.1-4
F, June 3 Dynamic Programming & Review
Ch. 15.1-4
O N
M, June 6 Greedy Algorithms
Ch. 16.1-3

 
T, June 7 Midterm Exam
3:30 pm
 

  V. Advanced Analysis
W, June 8 Amortized Analysis
Ch. 17
Th, June 11 Binomial/Fibonacci Heaps
Ch. 19
F, June 10 Randomized Algorithms (Quicksort)
Ch. 5.1-3, 7.4
M, June 13 Selection
Ch. 9

  VI. Graph Algorithms
T, June 14 Graph Search
Ch. 22
W, June 15 Shortest Path
Ch. 24, 25.2
Th, June 16 Spanning Trees
Ch. 23
F, June 17 Min-cut / Max-flow
Ch. 26.1-3
M, June 20 Union-Find
Ch. 21.1-3

  VII. String Algorithms
T, June 21 String Matching
Ch. 32.1-3
W, June 22 String Searching

  VIII. Computational Complexity
Th, June 23 Tractable vs. Intractable
Ch. 34.1-2
F, June 24 NP-Complete Problems
Ch. 34.3-5
M, June 27 Approximation Algorithms
Ch. 35.1-2

 
Th, June 30 Final Exam
7:00 pm
 

( * Notes by Lars Arge )
(** Notes by Herbert Edelsbrunner )

Optional Math Review Sessions

Despite having completed the prerequisites, some students may feel that their math background isn't strong enough, or they may simply want a refresher. To accomodate this, I will be holding two optional math review sessions during the course.

 
M, May 23 General (Discrete Math, Definitions)
6:00 pm
W, June 8 Probability, Expectation, Graphs
6:00 pm

Food will be provided, so I will be taking headcounts before each session.

Mason F. Matthews
Created 28 April 2005