CSC B63: Lectures

Week Topics Readings Notes
1 Jan 8 Course Introduction
Review of time complexity of algorithms and asymptotic notation
Abstract data types
Priority queues: heaps
Ch. 1,2,3 Asymptotic bounds on worst-case time complexity (PS)
Tutorial: asymptotic bounds
Week 1 lecture notes
2 Jan 15 Priority queues: heaps, mergeable heaps (binomial heaps)
Dictionaries: binary search trees
Ch. 6, 19 Tutorial: heapify and build-heap
Week 2 lecture notes
3 Jan 22 Balanced search trees: AVL trees, B-trees 12.1, 12.2, 12.3,
AVL notes (PS)
Tutorial: AVL tree delete
Week 3 lecture notes
4 Jan 29 Augmenting data structures
Hashing: basic definitions
Ch.18, Ch. 14 Tutorial: B-trees operations
Week 4 lecture notes
5 Feb 5 Hashing: chaining, probabilistic analysis
Probabilistic vs. randomized algorithms: Quicksort
11.1-11.3.2,
Ch. 5, 7
Tutorial: Probability review
Week 5 lecture notes
6 Feb 12 Disjoint sets Ch. 21 Tutorial: Augmenting AVL trees
Week 6 lecture notes
-- Feb 19 Reading week -- no classes
7 Feb 26 Amortized analysis, dynamic tables
Midterm exam
Ch. 17 Tutorial: Disjoint sets
Week 7 lecture notes
8 Mar 5 Graphs: defintions, data structures
Graphs: breadth-first search
Appendix B.4,
Ch. 22
Tutorial: Amortized analysis
Week 8 lecture notes
9 Mar 12 Graphs: single-source shortest-path
Graphs: depth-first search
Ch. 22 BFS computes shortest-path proof (PDF) (PS)
Tutorial: Dijkstra's algorithm
Week 9 lecture notes
10 Mar 19 Graphs: minimum spanning trees Ch. 23 Alternate MST construction proof summary (PS)
Tutorial: Topological sort
Week 10 lecture notes
11 Mar 26 Graphs: approximating solutions 35.2 Tutorial: MST algorithms
Week 11 lecture notes
12 Apr 2 Lower bounds: decision trees, adversary arguments
Lower bound for sorting
Course wrap-up
8.1, 9.1 Tutorial: decision trees and proving lower bounds
-- Final exams -- April 14-May 1 -- check exam schedule

All readings are from the course textbook, Cormen, Leiserson, Rivest & Stein, Introduction to Algorithms (2nd edition). MIT Press and McGraw-Hill (2001), ISBN: 0-262-03293-7

Some of the notes are in PostScript format only. If you need a PostScript viewer for home, Ghostscript and GSview are free for both Windows and Mac (you'll need to install both programs). On the lab computers, gv should handle PS files automatically.

Lecture schedule is subject to change as the term progresses. Please check back each week to confirm reading assignments.

Note on the course textbook

Though CLRS is thick, heavy and expensive, it contains a LOT of good stuff on algorithms, data structures and algorithmic techniques that you will find useful in later courses and use as a reference once you graduate. Buying it is a good investment. The down-side is that is is at times hard to read and learn from, and they often go overboard with details and lose or obscure the "intuition" of the algorithm.

For cheaper paper options, look on Amazon ($60) or sites that sell the cheaper paperback (overseas/international) version, such as CampusI.com or AbeBooks (site suggested by one of your classmates), but be aware of the shipping cost, currency conversion and time.


Valid HTML 4.01 Transitional