Algorithms

This course will cover algorithm design techniques, analysis of the efficiency of algorithms, and specific types of algorithms. General topics include asymptotic growth, recurrences, greedy algorithms, divide-and-conquer algorithms, dynamic programming, and intractable problems. Specific types of algorithms covered include sorting algorithms, graph algorithms, network algorithms, and text processing algorithms.

ADMINISTRATIVE INFORMATION:

Josh Imhoff (QR): Tues, 8:00-10:00 pm

Rob Visentin (TA), Wed, 8:00-10:00 pm

Judy Yang (TA): Thurs, 1:00-3:00 pm

Ellis Ratner (TA): Sun, 3:00-5:00 pm

Lizzie Mamantov (QR): Sun, 8:00-10:00 pm

TEXT (required):

Michael T. Goodrich and Roberto Tamassia

John Wiley, 2002

Problem Sets | 25% |

3 Exams | 75% |

Class Participation | Tiebreaker |

**TENTATIVE****COURSE OUTLINE:****Dates****Topic****Readings**Sep 3 Introduction to Algorithms Sep 5 Simple Sorting and Asymptotic Notation 2.4.2, 1.1, 1.2 Sep 10 Recursive Sorting 4.1, 4.3 Sep 12,17 Recurrences and Induction 5.2.1 Sep 19 Heapsort 2.4.4 Sep 24 Matrix Multiplication 5.2.3 Sep 26, Oct 1 Undirected Graph Algorithms 6.3 Oct 3, 10 Directed Graph Algorithms 6.4 Oct 15 Weighted Graph Shortest Paths 7.1 Oct 17 Weighted Graph Minimum Spanning Trees 7.3 Oct 22 EXAM 1 9/3 through10/10 Oct 24, 29 Network Maximum Flow 8.1, 8.2 Oct 31 String Pattern Matching 9.1 Nov 5 Text Compression 9.3 Nov 7, 12, 14 Dynamic Programming 5.3, 7.2, 9.4 Nov 19 EXAM 2 10/15 through11/5 Nov 26, 28, Dec 3, 5 Complexity 13.1-13.3 Reading Period (Makeup class for 11/21) TBA TBA Exam Period EXAM 3 11/7 through12/5