Course Notes - CS 161 - Design and Analysis of Algorithms
The following documents outline the notes for the course CS 161
Design and Analysis of Algorithms.
Note: All the notes are in PDF format.
Viewing these files requires the use of a
PDF Reader.
Notes by Lecture Schedule
- 1:
Introduction. Growth of functions.
Amortization.
Data Structures.
Heap sort.
- 2:
Dictionaries.
-
3:
Binary Search Trees and
Sorting.
-
4:
Fundamental techniques.
The greedy method.
Divide-and-conquer.
-
5:
Dynamic programming.
Matrix-chains. Knapsack.
LCS. Graphs and their representations.
-
6:
Graph algorithms. Depth-first search.
Breadth-first search.
-
7:
Shortest paths, Minimum Spanning Trees.
-
8:
Network flow.
-
9:
NP-Completeness.
Approximation algorithms.
-
10:
Crypto and Computational Geometry.
Michael T. Goodrich
Department of Information and Computer Science
Computer Science Building
University of California, Irvine, CA 92697-3435 USA