Semester:
Fall
Offered:
2014
This is an introductory course on algorithms at the graduate level. It assumes familiarity with basic data structures such as lists, queues, trees and graphs, and emphasizes creativity in the design of algorithms, and rigorous analysis. Correctness (soundness and completeness) and efficiency (with respect to average-, best- and worst-case time and space) properties are considered in the context of algorithms for classes of problems such as optimization and decision problems. The course also gives insights into when a problem may be intractable, and how we may deal with intractability.