Prerequisites: MATH 201, MATH 207 (“C-” or better) and CS 419 or permission of the instructor. (Second semester/3 credits)
An introduction to the analysis and design of algorithms. Topics include: sorting and searching, review of data structures, advanced tree structures, graph algorithms, network- flow problems, amortized analysis, divide-and-conquer, greedy algorithms and dynamic programming. Additional topics may include: combinatorial search algorithms, computational geometry, string algorithms, distributed algorithms, parallel algorithms and NP-Completeness.