WF 12:00-2:30pm @ MSB 106 Office Hours: by appointment @ MSB 352
This schedule is not final. It may change.
Topics | Subtopics & Slides | Reading | Date |
---|---|---|---|
Introduction | Syllabus | ||
Intro | 6/12 | ||
Ch 1: Algorithm Analysis | Analysis of Algorithms | 1.1, 1.2, 1.3, 1.4 | 6/12 |
Ch 2: Basic Data Structures | Elementary Data Structures | 1.5, 2.1, 2.2, 2.3 | 6/12; 6/14 |
Priority Queues and Heaps | 2.4.1 - 2.4.4 | 6/14; 6/19 | |
Dictionaries and Hash Tables | 2.5.1 - 2.5.6 | 6/19 | |
Ch 3: Search Trees and Skip Lists | Binary Search Trees | 3.1.1 - 3.1.6 | 6/21 |
Red-Black Trees | 3.3.3 | 6/21 | |
Ch 4: Sorting, Sets, and Selection | Merge Sort | 4.1.1 | 6/26 |
Quick Sort | 4.3.1, 4.6 | 6/26 | |
Sorting Lower Bound | 4.4 | 6/28 | |
Radix Sort | 4.5.1, 4.5.2 | 6/28 | |
Sets | 4.2.1 | 7/3 | |
Selection | 4.7, 4.7.1 - 4.7.3 | 7/3 | |
Ch 5: Fundamental Techniques | Greedy Method | 5.1, 5.1.1, 5.1.2 | 7/5 |
Divide and Conquer | 5.2, 5.2.1 - 5.2.3 | 7/5; 7/10 | |
Dynamic Programming | 5.3, 5.3.1 - 5.3.3 | 7/12 | |
Ch 6: Graphs | Graphs | 6.1 - 6.2 | 7/17 |
Depth-First Search | 6.3.1 | 7/17 | |
Breadth-First Search | 6.3.3 | 7/19 | |
Biconnectivity | 6.3.2 | 7/19 | |
Directed Graphs | 6.4.1, 6.4.2, 6.4.4 | 7/19; 7/24 | |
Ch 7: Weighted Graphs | Shortest Paths | 7.1, 7.1.1 - 7.1.3, 7.2, 7.2.1 | 7/24 |
Minimum Spanning Trees | 7.3, 7.3.1 - 7.3.3 | 7/24; 7/26 | |
Ch 8: Network Flow and Matching | Network Flow | 8.1.1, 8.1.2, 8.2.1 - 8.2.3 | 7/26; 8/31 |
Clearly number your solution to each problem. Staple your solutions and bring them to class on the due date. Express your algorithms in pseudo-code when directed. Always provide justification for your answer when asked to give the running time of an algorithm, or when asked to given an algorithm running in a specific time. Be brief and concise, and draw pictures where appropriate.
Sign up for Piazza, a Q&A web service where you can ask and answer questions related to the class.