Lecture Schedule and Notes

Duke Computer Science

Current homework is available from the homework page.

Date Topic Notes
Mon, Aug 23 Introduction and overview PS   PDF
  I. SORTING  
Wed, Aug 25 Quicksort PS   PDF
Mon, Aug 30 Heapsort PS   PDF
Wed, Sep 01 Linear-time sorting PS   PDF
Mon, Sep 06 Selection PS   PDF
  II. SEARCHING  
Wed, Sep 08 Binary search trees PS   PDF
Mon, Sep 13 Red-black trees PS   PDF
Wed, Sep 15 Skip lists PS   PDF
Mon, Sep 20 Hash tables PS   PDF
  III. PARADIGMS  
Wed, Sep 22 Dynamic programming PS   PDF
Mon, Sep 27 Greedy algorithms PS   PDF
Wed, Sep 29 Solving recurrence relations PS   PDF
Mon, Oct 04 Amortized analysis PS   PDF
  FIRST EXAM  
Wed, Oct 06 ... Midterm ... PS   PDF
Mon, Oct 11 ... Fall break ...  
  IV. ADVANCED DATA STRCTURES  
Wed, Oct 13 Fibonacci heaps, I PS   PDF
Mon, Oct 18 Fibonacci heaps, II PS   PDF
Wed, Oct 20 Splay tree, I PS   PDF
Mon, Oct 25 Splay tree, II PS   PDF
  V. GRAPH ALGORITHMS  
Wed, Oct 27 Graph search PS   PDF
Mon, Nov 01 Shortest paths PS   PDF
Wed, Nov 03 Spanning trees PS   PDF
Mon, Nov 08 Union-find PS   PDF
  VI. STRING ALGORITHMS  
Wed, Nov 10 String matching PS   PDF
Mon, Nov 15 Searching with strings PS   PDF
Wed, Nov 17 Pattern matching PS   PDF
  VII. NP-COMPLETENESS  
Mon, Nov 22 Easy and hard problems PS   PDF
Wed, Nov 24 ... Thanksgiving Recess ...  
Mon, Nov 29 NP-complete problems PS   PDF
Wed, Dec 01 Approximation algorithms PS   PDF
Mon, Dec 06 ... Final exam, 9am to noon ...  


Course textbook: Some course material will be taken from

Last Modified: Monday, 29-Nov-2004 14:23:05 EST