Instructor InformationShabsi Walfishwalfish AT cs DOT nyu DOT edu Room 605, WWH Office Hours: Monday 7:00-8:00pm |
Week |
Date |
Topics |
Chapters |
Notes |
Assignments |
| 1 | 5/17 | Introduction: Basic sorting techniques (insertion sort, and merge sort), analyzing correctness and efficiency of algorithms | 1,2,3, Appendix A | Introduction (Slides) (Handout) |
Homework #1 |
| 2 | 5/24 | Mathematical Tools: Recurrence equations (recursion trees and the master method), probability, worst case vs. average case analysis | 4,5, Appendix C | Mathematical Tools (Slides) (Handout) |
|
| 3 | 5/31 | Sorting: Bucket Sort, Heapsort, Quicksort. Lower bounds for sorting. | 6,7,8 | Sorting (Slides) (Handout) |
Homework #2 |
| 4 | 6/7 | Selection and Hashing: Selection in linear time, linked lists and hash tables, hash functions | 9, 10, 11 | Selection and Hashing (Slides) (Handout) |
|
| 5 | 6/14 | Trees: Binary Trees, searching, tree traversal, 2-3 Trees, graph traversal (BFS / DFS), topological sort, strongly connected components | (10?), 12, 22, (14?) | Trees and Graphs (Slides) (Handout) Additional notes
on 2-3
Trees by Victor Shoup
|
Homework #3 |
| 6 | 6/21 | Midterm Exam |
|||
| 7 | 6/28 | Minimum Spanning Trees
and Shortest Paths: Prim's, Kruskal's, and Dijkstra's algorithms. Proof techniques. |
23,24 | More on Graphs (Slides) (Handout) |
|
| 8 | 7/5 | Dynamic Programming: Matrix multiplication, longest common subsequence, all pairs shortest paths | 15,25 | Dynamic Programming (Slides) (Handout) |
Homework #4 |
| 9 | 7/12 | Amortization: Binary counters and dynamic tables | 17 | ||
| 10 | 7/19 | Greedy Algorithms: Activity selection, Huffman codes | 16 | Greedy Algorithms (Slides) (Handout) |
Homework #5 |
| 11 | 7/26 | Introduction to NP and
NP-Completeness |
34 | ||
| 12 | 8/2 | Final Exam (strict 2 hr 20 min time limit) |