Course Notes - ICS 161 - Design and Analysis of Algorithms
The following documents outline the notes for the course ICS 161
Design and Analysis of Algorithms. These notes are not for general
distribution; they are for use only by students in ICS 161.
Copyright © 2000 and 2002, Michael T. Goodrich,
Matthew Dickerson, Roberto Tamassia, and John Wiley and Sons, Inc.
All rights reserved.
Note: All the notes are in PDF format.
Viewing these files requires the use of a
PDF Reader.
Notes by Weekly Lecture Schedule
- Week 1:
Introduction. Growth of functions.
Amortization.
Data Structures.
Heap sort.
- Week 2:
Search structures.
Skip lists.
Splay trees.
-
Week 3:
Sorting and Selection.
-
Week 4:
Fundamental techniques.
The greedy method.
Divide-and-conquer.
-
Week 5:
Dynamic programming.
Matrix-chains. Knapsack.
Graphs and their representations.
-
Week 6:
Graph algorithms. Depth-first search. Biconnectivity.
Breadth-first search.
-
Week 7:
Directed graphs.
Shortest paths.
-
Week 8:
Minimum spanning trees.
Network flow.
-
Week 9:
String pattern matching.
Tries.
-
Week 10:
NP-Completeness.
Approximation algorithms.
- Final Exam: Wednesday, June 12, 2002,
8am-10am.
Michael T. Goodrich
Department of Information and Computer Science
Computer Science Building
University of California, Irvine, CA 92697-3425 USA