| Description |
Design and analysis of computer algorithms. Topics include asymptotic notations, solving recurrences, order statistics, general algorithm design techniques such as divide-and-conquer, greedy algorithms, dynamic programming, backtracking and branch-and-bound. Graph and string algorithms, and introduction to NP-Completeness and complexity theory. |