![]() |
AlgorithmsCSc 22000–Fall 2020 |
The City College of CUNY Department of Computer Science |
Instructor:
Prof. Nelly Fazio
Lectures: M/W, 2:00pm–3:15pm, Online
Office hours: Tuesdays, 2:00pm–3:00pm (and by appointment), Online
Email: fazio AT cs DOT ccny DOT cuny DOT edu
[Put CSc220 in Subject line]
[ Course Description | List of Topics | Textbook | Work Load & Grading | CUNY Academic Integrity Policy | Assignments | Weekly Schedule ]
Prerequisites: CSc 212, and (CSc 217 or EE 311).
Lecture | Date | Topic | Readings |
1 | Aug 26 | Overview. Growth of functions. Asymptotic notation. InsertionSort. | CLRS 1, 2.1, 2.2, 3 Review CLRS 10, 11 |
2 | Aug 31 | Divide-and-Conquer. Examples. MergeSort. Solving recurrence: Recursion-tree method. Examples. |
CLRS 2.3, 4.4. Appendix A |
3 | Sep 2 | More on Divide-and-Conquer: Maximum Subarray. Matrix multiplication. Solving recurrences: Substitution method. Examples. |
CLRS 4.1–4.3 |
4 | Sep 9 | Solving recurrences: Master method. Examples. | CLRS 4.5 |
5 | Sep 14 | Sorting Algorithms: Heapsort. | CLRS 6 |
6 | Sep 16 | Sorting Algorithms: Quicksort. | CLRS 7 |
7 | Sep 21 | More on sorting: Lower bound and beyond. |
CLRS 8 |
8 | Sep 23 | Balanced Search Trees: Red-Black Trees (I). | Review CLRS 12 CLRS 13 |
9 | Sep 29 | Balanced Search Trees: Red-Black Trees (II). | CLRS 13 |
10 | Sep 30 | Balanced Search Trees: B-Trees (I). | CLRS 18 |
11 | Oct 5 | Balanced Search Trees: B-Trees (II). | CLRS 18 |
12 | Oct 7 | Dynamic Programming (I). Example: Rod Cutting. | CLRS 15 |
13 | Oct 14 | Dynamic Programming (II). Example: Matrix chain multiplication. | CLRS 15 |
14 | Oct 19 | Dynamic Programming (III). Example: Longest Common Subsequence. | CLRS 15 |
15 | Oct 21 | Midterm Exam. (tentative) | |
16 | Oct 26 | Greedy Algorithms. | CLRS 16 |
17 | Oct 28 | Greedy Algorithms. Huffman Codes. | CLRS 16 |
18 | Nov 2 | Graphs. BFS and DFS. | CLRS 22 |
19 | Nov 4 | Topological Sort. SCC. | CLRS 22 |
20 | Nov 9 | Minimum Spanning Trees. | CLRS 23 |
21 | Nov 11 | Advanced Data Structures: Fibonacci Heaps. | CLRS 19 |
22 | Nov 16 | Max-Flow. | CLRS 26 |
23 | Nov 18 | String Matching. | CLRS 32 |
24 | Nov 23 | Single-Source Shortest Paths: Bellman-Ford algorithm. | CLRS 24 |
25 | Nov 30 | Single-Source Shortest Paths for DAGs + Dijkstra. | CLRS 24 |
26 | Dec 2 | All-Pairs Shortest Paths: Floyd-Warshall. | CLRS 25 |
27 | Dec 7 | NP-Completeness. | CLRS 34 |
28 | Dec 9 | NP-Completeness. | CLRS 34 |
Dec. 16 | Final Exam, 1:00-3:15pm |
Copyright © Nelly Fazio