This course will cover algorithms for a variety of
problems, as well as general algorithm design and
analysis techniques such as divide-and-conquer, dynamic
programming, and greedy algorithms. Specific topics
include algorithm analysis, recurrences and asymptotic
analysis, searching, sorting, order-statistics, shortest
path problems, and network-flows. An introduction to the
computational complexity classes (such as P, NP, NP-
hard, NP-complete, PSPACE) together with
approximation algorithms and the performance
evaluation of algorithm implementations in practice are
also covered in the course.
|