Computer Science 226
Algorithms and Data Structures
Spring 2003


Course Information | Assignments | Exercises | Lectures | Errata

SCHEDULE OF LECTURES

Here are copies of the lecture notes used in class. Students are fully responsible for all material presented in lectures, even if some of it does not appear in these notes. These notes are intended for the lecture presentations; for reference, use the corresponding chapters in Algorithms in C, Parts 1-5, 3rd edition and Algorithms in C, 2nd edition. An effective strategy is to look over the indicated chapter before the lecture, then read it in detail soon afterwards.


# Lecture Notes Chapter(s) In-class Demos
1 Introduction 1-5  
2 Elementary sorts 6 Sorting applets
3 Mergesort, Quicksort 7, 8 Partitioning   Quicksort applets  
Merging   Mergesort applets
4 Priority queues 9   Sort summary
5 Symbol tables 12 Growing Tree Tool
6 Balanced trees 13 Growing Tree Tool
7 Hashing 14  
8 Radix sorts 10 3-way partitioning   C code
9 Trie searching 15 C code
10 String searching 19* KMP demo   C code
11 Midterm
12 Pattern matching 20*, 21* Deque simulation of NFSA
13 Data compression 22* Huffman demo   LZW demo
14 Geometric algorithms 24*, 25* Convex hull applet   Applications
15 Geometric search 26*, 27* Voronoi applet
16 Undirected graphs 17, 18 DFS   BFS   Euler   Maze   C code
17 Minimum spanning tree 20 Graph applet   Applications
18 Directed graphs 19 DFS   Topological sort   C code
19 Shortest paths 21 Dijkstra demo
20 Max flow, min cut 22 Augmenting path demo   C code
21 Minimum cost flow 22  
22 Linear programming article  
23 Reductions -  
24 All questions answered -  

The chapters denoted by * are from the second edition. All other chapters are from the third edition.



COS 226 Class Page
rs@cs.princeton.edu
Last modified: February 1, 2003