Useful links:
*Some of the lecture notes have been adapted from the notes of Lars Arge.Date  Topic  Reading, Notes*  Other WWW useful material  Assignments 
Mathematical foundations  
Sept 3  Introduction and overview.
Sorting: Insertion sort. Bubblesort. Selection sort. 
L01.pdf CLRS 1, 2.12.2 
Why? (Sedgewick, Princeton)
Sort animations: all sorts  Progr.pearls 

Sep 8  Asymptotic growth.
Summations. 
growth.pdf 
summations.pdf
CLRS 2.3, 3, 4.14.2 
Program analysis (Princeton)
Zeno's paradoxes. 
H1growth.pdf 
Sep 10, 15  Recurrences.  recurrences.pdf
CLRS 4.34.4, 7.17.2 
Demo: Merge (Princeton)  Mergesort (Princeton)  H2recurrences.pdf 
Techniques: DivideandConquer  
Sep 17  Divide and conquer.  Divide And Conquer.pdf  Divideandconquer (Princeton)
Matrix multiplication (Princeton) Closest pair (Princeton) 

Searching and Sorting  
Sep 22, 24  Quicksort. Sorting lower bounds. Linear time sorting (counting sort, radix sort, bucket sort).  quicksort.pdf 
sortLB.pdf
CLRS 7.37.4, 8, C.2 
Demopartition  3way partition (Princeton)  H3sorting.pdf 
Sep 29  Selection.  selection.pdf
CLRS 9 
H4selection.pdf  
Oct 1  class rescheduled  
Oct 6  Priority queues: Heaps. Heapsort.  heaps.pdf  CLRS 6  H5heaps.pdf  
Oct 8  Binary search trees.

bst.pdf  CLRS 11, 12  
Oct 1013  Fall break  
Oct 15  Skiplists.
Exam review. 
skiplists.pdf  
Oct 1416 evening  Exam 1  
Oct 20, 22  Balanced search trees. Redblack trees.
Augmented search trees. Interval tree. 
RBtrees.pdf  augtrees.pdf  CLRS 13, 14  RB Trees (MIT Open Courseware)  Animation  RBtrees (wiki)  H6bstrees.pdf 
Optimization: Dynamic programming and greedy  
Oct 27, 29  Dynamic programming. Greedy algorithms.  DynamicP.pdf  Greedy.pdf  CLRS 15.215.3, 16.116.2  H7DynamicGreedy.pdf  
Analysis: Amortization  
Nov 5  class rescheduled  
Nov 3, 10  Amortized Analysis.  Amortization.pdf  CLRS 17.117.3  H8amortized.pdf  
Nov 12  Review and problems.  For other practice exams check links.
Fun read: Pessimal algorithms (Broder, Stolfi) 

Nov 1720 evening  Exam 2  
Networks  
Nov 17, 19  Basics: paths and connectivity, distances, BFS, DFS, CC. Topological sort. Shortest paths.  basicgraph.pdf  shp.pdf  CLRS B.4B.5, 22.122.4, 25.1, 25.2  Graph vizualizations (Sedgewick, Princeton)  Dijkstra animation  another Dijkstra animation  Slides (Princeton)  H9graphs.pdf 
Nov 24  class rescheduled  
Nov 2630  Thanksgiving break  
Dec 1  Shortest paths. BellmanFord algorithm. Dynamic programming and matrix multiplication.  CLRS 25.3, 26  
Dec 3,8  Minimum spanning trees. Unionfind.  mst.pdf  CLRS 24.0, 24.3  Graph vizualizations (Sedgewick, Princeton)  UnionFind (Princeton)  H10graphs.pdf 
Dec 10  Graphs in social networks (the smallworld phenomenonKevin bacon game and Erdos numbers; graph center; diameter).
Review. 
Review.pdf  class evaluation  
December 19, 9am  Final Exam 