Course Brief Description:
Principles of design of efficient algorithms: recursion, divide and conquer, balancing, dynamic programming, greedy method, data structure selection. Correctness and analysis of algorithms. Examples drawn from problems in sorting, searching, set manipulation, pattern-matching, graphs, matrices, polynomials, and integers.
Course Instance ID: