CPW 320 Algorithms

The course covers techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics include sorting, search trees, heaps, and hashing, divide-and-conquer, dynamic programming, greedy algorithms, amortized analysis, graph algorithms, and shortest paths. Advanced topics may include network flow, computational geometry, number-theoretic algorithms, polynomial and matrix calculations, caching, and parallel computing.

Credits

5

Prerequisite

Successful completion of CPW 245 and MATH& 141.