This course deals with the analysis of algorithms and the relevance of such analysis to the design of efficient algorithms. The derivation of results that are primarily of theoretical significance shares importance with the practical task of designing efficient algorithms. Topics covered: searching and sorting, graph algorithms, arithmetic, NP-completeness, and lower bound techniques.
CS 1510 or its equivalent.
Fall 2014, Spring 2015, Summer 2015, Fall 2015, Spring 2016