Methods for the systematic construction and mathematical analysis of algorithms. Order notation, the RAM model of computation, lower bounds, and recurrence relations are covered. The algorithm design techniques include divide-and-conquer, branch and bound, and dynamic programming. Applications to combinatorial, graph, string, and geometric algorithms. (Formerly Computer Science 102.)
Enrollment Requirements
Prerequisite(s): CSE 101.
Class Notes
All students - if you completed the prerequisites but get an error message - email your proof of prerequisite material to the instructor for approval to enroll - Evangelos Chatziafratis, evchatzi@ucsc.edu.