The notes are provided in both postscript (the "default") and pdf formats.
Analyzing time complexity, Asymptotic Notation, Sorting Algorithms
(in pdf)
Proof Technique and Math Review, Selecting an Algorithm
(in pdf)
Divide and Conquer Algorithms, Solving Recurrences
(in pdf)
Master Method for Solving Recurrences
(in pdf)
Quicksort and Randomized Quicksort
(in pdf)
Probability Primer
(in pdf)
Computing Expected Time Complexity, Lower bound intro
(in pdf)
Sorting Lower Bound
(in pdf)
Non-Comparison Based Sorting Algorithms (counting sort,
bucket sort and radix sort)
(in pdf)
Dictionary ADT, Hashing
(in pdf)
Hashing Analysis, Selecting a Hash Function
(in pdf)
Priority Queue ADT and Heaps
(in pdf)
Dynamic Set ADT and Binary Search Trees
(in pdf)
Skip Lists (an alternative to binary search trees)
(in pdf)
Balanced binary search tree
(in pdf)
B-trees (for dynamic set ADT when using external storage)
(in pdf)
B-tree deletion
(in pdf)
Intro to graphs, representing graphs
(in pdf)
Breadth-first search and depth-first search
(in pdf)
Topological sort
(in pdf)
Strongly connected components algorithm
(in pdf)
Minimum Spanning Tree (MST) problem, Prim's MST algorithm
(in pdf)
Shortest Path Problem, Dijkstra's algorithm
(in pdf)
Overview of Course
(in pdf)