CS 245 Algorithms
A detailed study of algorithm design and analysis, including greedy algorithms, divide and conquer, dynamic programming, backtracking, and branch and bound. Some advanced data structures and parallel distributed programming are introduced. There is an emphasis on the verification and analysis of time and space complexity.