Date Topic CLRS chapters Lecture slides Notes Mon 8/22 Introductory concepts in design and analysis of algorithms. Lecture 1 Reading:(1) Intro Lecture from CS 124 at Harvard Wed 8/24 Insertion sort. Divide and conquer paradigm. Merge sort. 2 Lecture 2 & 3 Fri 8/26 Merge-sort analysis. Asymptotic notation. Recurrences. 3,4 Mon 8/29 More on divide and conquer recurrences. HW1 out Wed 8/31 Master method. Multiplication with divide and conquer approach : Strassen's algorithm. 4.3, 28.2 Lecture 4 & 5 Fri 9/2 Quicksort. Median and order statistic. 7,9 HW1 due, HW2 out Mon 9/5 HolidayWed 9/7 Randomized selection. Some basic probability (review). 9.2, Appendix C/p.1094 Lecture 6 & 7 Fri 9/9 Randomized selection - analysis. Deterministic linear time selection algorithm. HW2 due Mon 9/12 Lower bound for comparison sorting algorithms. 8.1 Lecture 8 & 9 Tue 9/13 Programming Assignment 1 outWed 9/14 Introduction to graphs and graph algorithms. Appendix B.4/p.1080 Fri 9/16 Depth-first search. 22.3 Lecture 10 & 11 Mon 9/19 Depth-first search in directed graphs. 22.4 Wed 9/21 Strongly connected components and DFS. 22.5 Lectures 12 & 13 HW3 out Fri 9/23 Breadth -first search and Dijkstra's algorithm. 24, 24.3, 24.5 Sun 9/25 Programming Assignment 1 due by 11:59pmMon 9/26 Dijkstra's algorithm cont. 24.3 Lectures 14 & 15 Wed 9/28 Binary heap as a priority queue. 6 HW3 due
MidtermInfo + Sample ProblemsFri 9/30 A general single-source shortest paths algorithm (Bellman-Ford). 24.1, 24.2 Lectures 16 & 17 Mon 10/3 Review Wed 10/5 Midterm - 11:05-11:55 In class. Fri 10/7 Minimum Spanning Tree - Kruskal's greedy algorithm. 23 Mon 10/10 Prim's algorithm. Disjoint-sets data structure. 21 Lectures 18 & 19 Wed 10/12 Disjoint-sets data structure-cont.. HW4 out Fri 10/14
Analysis of union by rank and path compression. Lecture 20 & 21 Drop deadline.Mon 10/17 Fall breakWed 10/19 Huffman codes 16.3 Lecture 22 Fri 10/21 Greedy approximation of the set cover problem. 35.3 HW4 due Mon 10/24 Introduction to dynamic programming. Lecture 23 & 24 Wed 10/26 Edit distance problem. HW5 out Fri 10/28 Knapsack and O-1 Knapsack. Lecture 25 & 26 Mon 10/31 All-pairs shortest paths. 25.1, 25.2 Lecture 27 Wed 11/2 Network Flow. 26 Fri 11/4 Ford-Fulkerson method. HW5 due Sun 11/8 Programming Assignment 2 outMon 11/7 Edmonds-Karp algorithm. Maximum bipartite matching. Lecture 28 & 29 & 30 Wed 11/9 Introduction to NP-completeness 34.1,2,3 HW6 out Fri 11/11 Circuit SAT, SAT and 3 SAT. Mon 11/14 3SAT is NP-complete. 34.4 Lecture 31 & 32 & 33 Wed 11/16 Independent Set, Clique and Vertex Cover. 34.5 Fri 11/18 Clique and Vertex Cover are NP-complete. Lecture 34 & 35 HW6 due Mon 11/21 Subset Sum Problem is NP-complete. Tue 11/22 Programming Assignment 2 due by 11:55pmWed 11/23 Undecidability. Lecture 36 & 37 HW7 out Fri 11/25 HolidayMon 11/27 Basic and modular arithmetic. 31.3,31.6 Wed 11/30 Euclid's algorithm for greatest common divisor and its extension. 31.2 Berkeley notes Fri 12/2 Primality testing. 31.8 Lecture 38 & 39 & 40 Mon 12/5 RSA cryptosystem. HM7 due Wed 12/7 Digital signatures. Lecture 41 & 42 FinalExamInfo+Sample Problems Fri 12/9 REVIEW. Wed 12/14 Additional REVIEW session 6-8PM in CCB 53. Fri 12/16 Final Exam (8:00-10:50 am ) in room 17, CoC Address TBA.