Description: Lecture, four hours; discussion, two hours; outside study, six hours. Enforced requisites: course 32, Mathematics 61. Designed for junior/senior Computer Science majors. Introduction to design and analysis of algorithms. Design techniques: divide-and-conquer, greedy method, dynamic programming; selection of prototypical algorithms; choice of data structures and representations; complexity measures: time, space, upper, lower bounds, asymptotic complexity; NP-completeness. Letter grading.

Instructor: Rafail Ostrovsky ([email protected])

Office Hours: MW - 4:15 to 5:00 PM at Engineering VI, Office 475 (4th floor)

Teaching Assistant: Lionel Levine ([email protected])

Office Hours: T - 1:00 to 2:00 PM at Zoom

Units: 4 credits

Syllabus

Notes

Homeworks

Review

Untitled