Syllabus

Syllabus
# Title Description
1 Worst and average case analysis Asymptotic notations Heaps Recurrence Hash Tables Divide-and-conquer Binary search trees Efficient algorithms for sorting Searching, and selection Binary search trees Greedy Shortest paths (Dijkstra) Knapsack problem Minimum-cost spanning tree Huffman code, … Dynamic Programming Chain of matrix multiplications Travelling salesman String processing Trees and Graphs Tree traversal Connected components Topological sort Strongly-connected components Network flow Backtracking Eight queens problem Brach and Bound Travelling salesman Job assignment NP-Completeness
2 Worst and average case analysis Asymptotic notations Heaps Recurrence Hash Tables Divide-and-conquer Binary search trees Efficient algorithms for sorting Searching, and selection Binary search trees Greedy Shortest paths (Dijkstra) Knapsack problem Minimum-cost spanning tree Huffman code, … Dynamic Programming Chain of matrix multiplications Travelling salesman String processing Trees and Graphs Tree traversal Connected components Topological sort Strongly-connected components Network flow Backtracking Eight queens problem Brach and Bound Travelling salesman Job assignment NP-Completeness
3 Computer Algorithms, Ellis Horowitz, Sartaj Sahni, 2007 Algorithm Design, Jon Kleinberg,‎ Éva Tardos, 2005 Foundations of Algorithms, Richard Neapolitan,‎ Kumarss Naimipour, 2009 Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest,‎ Clifford Stein, 2009 The Design of Algorithms, Mahmoud Naghibzadeh, 2015
4 Five Homework (15/100) One midterm (upon class request) (25/100 points) One final (60/100 points) Class activities (5 extra points) Total possible points 105/100 = 21/20