TR 3:45 - 5:00pm @ SMH 111 Office Hours: TR 2:30-3:30pm @ MSB 352, or by appointment
Office hours during finals week will be Monday 12/10 and Tuesday 12/11 from 11am-1pm in MSB 352, or by appointment
This schedule is not final. It may change.
Topics | Subtopics & Slides | Reading | Date |
---|---|---|---|
Introduction | Syllabus | ||
Intro | 8/23 | ||
Ch 1: Algorithm Analysis | Analysis of Algorithms | 1.1, 1.2, 1.3, 1.4 | 8/23; 8/28 |
Ch 2: Basic Data Structures | Elementary Data Structures | 1.5, 2.1, 2.2, 2.3 | 8/28; 8/30; 9/4 |
Priority Queues and Heaps | 2.4.1 - 2.4.4 | 9/7; 9/11 | |
Dictionaries and Hash Tables | 2.5.1 - 2.5.6 | 9/13; 9/18 | |
Ch 3: Search Trees and Skip Lists | Binary Search Trees | 3.1.1 - 3.1.6 | 9/20 |
Red-Black Trees | 3.3.3 | 9/25 | |
Ch 4: Sorting, Sets, and Selection | Merge Sort | 4.1.1 | 9/27 |
Quick Sort | 4.3.1, 4.6 | 10/2 | |
Sorting Lower Bound | 4.4 | 10/2 | |
Radix Sort | 4.5.1, 4.5.2 | 10/4 | |
Sets | 4.2.1 | 10/9 | |
Selection | 4.7, 4.7.1 - 4.7.3 | 10/9 | |
Ch 5: Fundamental Techniques | Greedy Method | 5.1, 5.1.1, 5.1.2 | 10/16 |
Divide and Conquer | 5.2, 5.2.1 - 5.2.3 | 10/18; 10/25 | |
Dynamic Programming (example) | 5.3, 5.3.1 - 5.3.3 | 10/25; 10/30 | |
Ch 6: Graphs | Graphs | 6.1 - 6.2 | 11/6 |
Depth-First Search | 6.3.1 | 11/8 | |
Breadth-First Search | 6.3.3 | 11/13 | |
Directed Graphs | 6.4.1, 6.4.2, 6.4.4 | 11/15 | |
Biconnectivity | 6.3.2 | 11/20 | |
Ch 7: Weighted Graphs | Shortest Paths | 7.1, 7.1.1 - 7.1.3, 7.2, 7.2.1 | 11/27; 11/29 |
Minimum Spanning Trees | 7.3, 7.3.1 - 7.3.3 | 11/29; 12/4 | |
Ch 8: Network Flow and Matching | Network Flow | 8.1.1, 8.1.2, 8.2.1 - 8.2.3 | 12/4; 12/6 |
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.