Date: Wed, 20 Nov 1996 22:11:34 GMT Server: NCSA/1.4.2 Content-type: text/html Last-modified: Tue, 03 Sep 1996 13:09:44 GMT Content-length: 1449
The main topics of the course are paradigms for designing algorithms (e.g., divide and conquer, greedy method, structured search, balancing, dynamic programming, scaling, problem reductions), and the criteria for their analysis (e.g., worst-case, average case, lower bounds, sensitivity, amortization, resource tradeoffs, NP-completeness). The course deals primarily with the classical sequential algorithms, but also introduces parallel, distributed, random, probabilistic, and approximation algorithms as time permits. The techniques are illustrated with algorithms for several domains, drawn from among information retrieval, graphs, networks, matroids, string matching, cryptology, arithmetic, matrices, and algebra. Many examples of important data structure and algorithms are described.