Schedule of Topics

CS409 - Spring 2000

This schedule will be updated periodically throughout the term.  Last update: May 12.

Readings and, in some cases, web-links are given for each of the topics listed below.  Reading are taken from several sources.  The abbreviations used for these sources are:

The first text listed is the official course text for CS409.  The other two texts are both on reserve in the Engineering Library.

Tuesdays   Thursdays
Date Topics Reading   Date Topics Reading
Jan 25 General Course Information
Asymptotic Notation (big-O)
Sk 1
Sk 1.4, 1.5
  Jan 27 Real RAM Model
Worst-Case vs. Expected Times
Abstract Data Types (ADTs)
ADT Stack
Sk 1.3.1
Sk 1.3.2

Sk 2.1.1
Feb 1 ADT Queue
ADT Dictionary
Direct Address Table
Hashing with Chaining
Application: Spell-Checking
Sk 2.1.1
Sk 2.1.2, 8.1.1
CLR 12.1
CLR 12.2
  Feb 3 Analysis of Hashing with Chaining CLR 12.2
Feb 8 Application: Geometric Hashing Web, RS   Feb 10 Binary Search Trees (BSTs) Web, RS
CLR 13.1-3
Se 12.5
Feb 15 234-Trees Web, RS
CLR 19
Se 13.3
  Feb 17 Tree Rotations
Red-Black Trees
Other Balanced Tree Schemes
CLR 14; Se 13.4
Feb 22 Selecting a Dictionary Scheme
ADT Priority Queue (PQ)
Simple PQ Implementations
Introduction to Heaps
Sk 8.1.1
Sk 8.1.2
Sk 8.1.2
CLR 7.1; Se 9.2
  Feb 24 More on Heaps
Bounded Height PQ
Selecting a PQ Scheme
Application: Segment Intersection
CLR 7.2; Se 9.3
Sk 8.1.2
Sk 8.1.2
Feb 29 Segment Intersection using a Sweepline
Data Structures for Sets
 - BitSet
 - Using a Dictionary as a Set
Web, RS
Sk 8.1.5

  Mar 2 Set Partition (Union/Find) Sk 8.1.5
CLR 22.1-3
Se 1.2-3
Mar 7

Midterm Exam

    Mar 9 Divide & Conquer
Application: Multiplying Integers
Sk 3.6
Web, RS
Mar 14 Application: Closest Pair of Points
Application: Gravitational Simulation
see previous   Mar 16 Dynamic Programming
Application: Matrix-Chain Multiplication
Application: Protein Alignment
Sk 3.1-5, 8.7.4
Web, RS
Mar 21 BREAK     Mar 23 BREAK  
Mar 28 Greedy Method
Application: Min Spanning Tree
Sk 4.7, 8.4.3
CLR 17.1-3
  Mar 30 Greedy Method
Application: DNA Sequencing
Sk 8.7.9
Apr 4 Finish DNA Sequencing
Greedy Method vs. Dynamic Programming
CLR 17.2   Apr 6 Amortization: Accounting Method CLR 18.1-2
Web, RS
Apr 11 Amortization: Union/Find see previous   Apr 13 Reductions
Lower Bounds for Sorting

Web
, RS
Apr 18 Reductions (for lower bounds) Web, RS   Apr 20 Suffix Trees Sk 8.1.3
Apr 25 Network Flow
Max-Flow Reductions
Bipartite Matching
Application: Airline Scheduling
Sk 8.4.9
Sk 8.4.6
CLR 27.1,3
  Apr 27 Max-Flow Reductions
Application: Inverse Protein Folding
see previous
May 2 NP-Completeness Sk 6.1-7
CLR 36
  May 4 Finish NP-Completeness
Quick Overview
What I Do
Sk 8.5.1-5

Tuesday, May 16: Final Exam, 3pm in Olin Hall 245