Spring 2006
Williams College
Algorithms
Schedule
| Date | Topic | Reading |
| Introduction: how is an algorithm different from a program? Proving correctness, proving efficiency | 1.1,1.3 | |
| 6 Feb | Proof techniques including loop invariants to prove correctness of insertion sort, induction to prove correctness of selection sort | 1.2,1.4 |
| 8 Feb | Algorithm analysis: framework, asymptotic notation, orders of growth of functions, analysis of non-recursive functions
![]() | |
| Algorithm analysis: nonrecursive functions | ||
| 13 Feb | Blizzard in Boston! Stacia stranded...no class | pp. 263-270 |
| 15 Feb | Analysis of recursive functions.
Towers of Hanoi contest! This year's results: Owen wins! 33 seconds, 2nd place is Avery with 34 seconds...Duane was not even ranked. Last year's results: Paul Stansifer won---5 disks, 45 seconds! Only to be beaten by Bill Lenhart with 44 seconds. Duane is claiming 34 seconds, but it was self-timed and highly suspect. | Review 2.1-2.5 |
| 20 Feb | Review: Binary Sarch Trees | 3.1 |
| 22 Feb | 2-4 Trees | 3.3 about 2-4 trees (skip avl, redblack trees) |
| 24 Feb | 2-4 Trees | |
| 27 Feb | Splay Trees, Very Cool Splay Tree Applet | Sec. 1.1.5, 3.4 |
| 3 Mar | Amortized Analysis of Splay Trees | |
| 6 Mar | Skip Lists | Sec. 3.5 |
| 8 Mar | Skip Lists, Intro to Techniques: Greedy, Divide & Conquer, DP | Sec. 3.5 |
| 10 Mar | Techniques: Greedy Method, Task Scheduling | 5.1.2,9.3 |
| 13 Mar | Techniques: Brute Force, D&C Method: Closest Pair | |
| 15 Mar | Dynamic Programming: Fibonacci, LCS | |
| | Dynamic Programming: LCS | |
| SPRING BREAK!! | ||
| 3 Apr | Graphs: Introduction & Terminology | Secs. 6.1, 6.2 |
| 5 Apr | Graphs: BFS & DFS | Secs. 6.3 |
| 7 Apr | Directed Graphs: Topological Sort | Secs. 6.4 pp. 316-320, 6.4.4 |
| 10 Apr | Weighted Graphs: Dijkstra's Algorithm | Secs. 7.1.1 |
| 12 Apr | It's Spring! Class outside! Finished Dijkstra's Algorithm | |
| 14 Apr | MST: Kruskal's Algorithm | Sec. 7.3, pp. 360-366 |
| 17 Apr |
Maze searching applet---just because it's so cool! Max Flow: Flows & Cuts, Max-Flow Min-Cut Theorem | 8.1 |
| 19 Apr | Max Flow: Augmenting paths, Ford Fulkerson | 8.2 |
| 21 Apr | Class cancelled: Stacia goes to Austin | 8.3 |
| 24 Apr | Pattern Matching: Boyer-Moore | 9.1.3,9.1.4 |
| 26 Apr | Pattern Matching: Tries | 9.2 |
| 28 Apr | Computational Geometry: Line Segments | 12.5.2 |
| 1 May | Computational Geometry: Convex Hulls | 12.5.5 |
| 3 May | Computational Geometry: Motion Planning, NP Completeness: Overview | |
| 5 May | NP Completeness: Reductions (Circuit-SAT->CNF-SAT->3SAT) | 13.2.2 |
| 8 May | NP Completeness: 3SAT-->Vertex Cover | 13.2.2 |
| NP Completeness: Wrap-up | 13.2.2 |