CPS 130: Course Synopsis
- Introduction (1.0 lecture) Models of
computation, complexity of algorithms, asymptotic analysis,
worst-case and average-case analysis.
- Recurrence relations (1.5 lectures)
Mathematical induction, substitution method, iterative method,
master method, divide-and-conquer algorithms.
- Sorting and selection (2 lectures)
Lower bound, heap sort, merge sort, quick sort,
selection in linear time.
- Dynamic programming(1.5 lectures)
Matrix-chain multiplication, longest common
subsequence, optimal polygon triangulation.
- Greedy algorithms (1.0 lectures)
Activity-selection algorithm, Huffman codes,
task-scheduling method.
- Amortized analysis (1.0 lectures)
Aggregate method, accounting method, potential
method.
- Data structures (2.0 lectures)
Binary search trees, red-black trees, B-trees, data structures for
disjoint sets
- Basic graph algorithms (2 lectures)
Breadth first search, depth first search, bi-connected
components, strongly connected components.
- Advanced graph algorithms (4 lectures)
Minimum spanning tree, single-source shortest path,
all-pair shortest path algorithms, transitive closure,
flow networks, bipartite matching.
- Randomized algorithms (2.5 lectures)
Randomized model of computation, Monte Carlo algorithms, Las
Vegas algorithms, randomized selection, hashing.
- Numerical algorithms (3.5 lectures)
integer multiplication, matrix multiplication,
solving systems of linear equations, GCD, modular arithmetic,
RSA public-key cryptosystem, primality testing.
- Computational geometry (2 lectures)
Convex hull, segment trees, closest pair.
- Intractable problems (2 lectures)
Polynomial time, NP completeness and reducibility,
NP complete problems, approximate algorithms.
Agarwal's Home Page
CPS 130 Homepage.
Pankaj Kumar Agarwal
Fri Aug 9 13:57:09 EDT 1996