The course gives a broad introduction to the design and analysis of algorithms. Topics to be covered include: growth of functions; recurrences; sorting and order statistics; common algorithm design techniques including divide-and-conquer, dynamic programming, and greedy; streaming and on-line algorithms; design and use of data structures; parallel algorithms; lower bound techniques, graph algorithms, NP-completeness, approximation algorithms. Detailed syllabus.
Class Times: Tuesday, Thursday 3:00- 4:15 pm, LWSN B155.
MIDTERM EXAM: Wednesday, March 12, 8:00-9:30 pm, FRNY G140
FINAL EXAM: Wednesday, May 7, 10:30-12:30 pm, BRNG 2280
Professor S.E. Hambrusch
Office Hours: Tuesday, Thursday 1:30-2:30pm, or by appointment