Instructor: Sumeet Agarwal
3 credits (3-0-0)
Pre-requisites: Course not open to UG students
I Semester 2023–24
Tu F 17:00–18:20, LH 519
Class(es) | Topics | References |
1–6 | Introduction: From Problems to Programs | AHU Chapter 1 |
7–10 | Elementary data structures: Lists, Stacks, Queues | AHU Chapter 2 |
11–15 | Asymptotic analysis of program complexity | AHU Chapters 1, 9; CLRS Chapters 3, 4 |
16–17 | Algorithm Design: Divide and Conquer | AHU Chapter 10 |
18–19 | Sorting algorithms | AHU Chapter 8 |
20–21 | Tree data structures; Binary Search Trees | AHU Chapters 3, 5 |
22 | Algorithm Design: Greedy algorithms | AHU Chapter 10 |
23–26 | Undirected graphs: Minimum spanning trees (Prim and Kruskal algorithms) | AHU Chapter 7 |
27 | Algorithm Design: Dynamic Programming | AHU Chapter 10 |
28–32 | Directed graphs: Shortest paths (Dijkstra and Floyd-Warshall algorithms) | AHU Chapter 6 |
33–37 | Network flows: Flow networks, Maximum flow, Ford-Fulkerson algorithm, Edmonds-Karp algorithm | CLRS Chapter 26 |
38–42 | NP-completeness | CLRS Chapter 34 |