STANFORD CS 161
Design and Analysis of Algorithms
Spring 2001

Course Syllabus  

This is a tentative syllabus and is subject to change.

DateTopic
 
Lecture 1 
Tuesday, 03-Apr-01
Introduction 
Readings: CLR 1
 
Lecture 2
Thursday 
5 Apr-01
Asymptotics, merge sort as recursive algorithm
Readings: CLR 2
 
Lecture 3
Tuesday
10-Apr-01
Recurrencies I
Readings: CLR 3, 4
 
Lecture 4
Thursday 
12-Apr-01
Recurrencies II
Readings: CLR 3, 4
 
Lecture 5
Tuesday
17-Apr-01
Quicksort
Readings: CLR 8
 
Lecture 6
Thursday 
19-Apr-01
Order Statistics
Readings: CLR 10
 
Lecture 7
Tuesday
24-Apr-01
Heaps
Readings: CLR 7
 
Lecture 8
Thursday 
26-Apr-01
Amortized Analysis, Counting Sort
Reading: CLR 9
 
Lecture 9
Tuesday
1-May-01
Hashing I
Reading: CLR 12
 
Lecture 10
Thursday 
3-May-01
Hashing II
 
 
Lecture 11
Tuesday
8-May-01
Binary Search trees
Reading: CLR 13
 
Lecture 12
Thursday 
10-May-01
MIDTERM
 
 
Lecture 13
Tuesday
15-May-01
Red/Black Trees
Reading: CLR 14
 
Lecture 14
Thursday
17-May-01
Augmenting data structures
Reading: CLR 15
 
Lecture 15
Tuesday
22-May-01
Greedy Algorithms
Reading: CLR 17.1 - 17.2
 
Lecture 16
Thursday
24-May-01
Huffman Encoding, Minimum Spanning Tree I
Reading: CLR 17.3, 24
 
Lecture 17
Tuesday
29-May-01
Minimum Spanning Tree II
 
 
Lecture 18
Thursday
31-May-01
Dynamic Programming, Bellman-Ford algorithm
Reading: 16.1, 16.2, 25.1, 25.3
 
Lecture 19
Tuesday
5-Jun-01
More dynamic programming: matrix multiplication, longest common subsequence
Reading: CLR 16.3


CS161 Spring 2001