CS 256

Spring 2006
Williams College

Algorithms

Schedule
Date TopicReading
3 FebIntroduction: how is an algorithm different from a program? Proving correctness, proving efficiency1.1,1.3
6 FebProof techniques including loop invariants to prove correctness of insertion sort, induction to prove correctness of selection sort1.2,1.4
8 FebAlgorithm analysis: framework, asymptotic notation, orders of growth of functions, analysis of non-recursive functions Appendix A
10 FebAlgorithm analysis: nonrecursive functions
13 FebBlizzard in Boston! Stacia stranded...no class pp. 263-270
15 FebAnalysis 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 FebReview: Binary Sarch Trees3.1
22 Feb2-4 Trees3.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 MarTechniques: Greedy Method, Task Scheduling5.1.2,9.3
13 MarTechniques: Brute Force, D&C Method: Closest Pair
15 MarDynamic Programming: Fibonacci, LCS 9.4 (not great though, see class notes)
17 MarDynamic Programming: LCS
SPRING BREAK!!
3 AprGraphs: Introduction & TerminologySecs. 6.1, 6.2
5 AprGraphs: BFS & DFS Secs. 6.3
7 AprDirected Graphs: Topological Sort Secs. 6.4 pp. 316-320, 6.4.4
10 AprWeighted Graphs: Dijkstra's Algorithm Secs. 7.1.1
12 AprIt's Spring! Class outside! Finished Dijkstra's Algorithm
14 AprMST: 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 AprMax Flow: Augmenting paths, Ford Fulkerson 8.2
21 AprClass cancelled: Stacia goes to Austin8.3
24 AprPattern Matching: Boyer-Moore9.1.3,9.1.4
26 AprPattern Matching: Tries9.2
28 AprComputational Geometry: Line Segments12.5.2
1 MayComputational Geometry: Convex Hulls12.5.5
3 MayComputational Geometry: Motion Planning, NP Completeness: Overview
5 MayNP Completeness: Reductions (Circuit-SAT->CNF-SAT->3SAT)13.2.2
8 MayNP Completeness: 3SAT-->Vertex Cover 13.2.2
10 MayNP Completeness: Wrap-up 13.2.2