Prerequisites: MATH 505, Calculus and CS 519 (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: combinational search algorithms, computational
geometry, string algorithms, distributed algorithms, parallel algorithms and NP-Completeness.