| Week | Topics | Slides/Videos | Lecture recordings | Reading | |||||||||||
| Week-01 (30 Mar - 03 Apr) |
01. Introduction: Analysing algorithms 02. Graph Algorithms: Why graphs? 03. Graph Algorithms: Graph representations 04. Graph Algorithms: Reachability 05. Graph Algorithms: Undirected connectivity |
01. [PDF]
[Youtube] 02. [PDF] [Youtube] 03. [PDF] [Youtube] 04. [PDF] [Youtube] 05. [PDF] [Youtube] |
|
Chapter 0, Section 3.1, 3.2 |
|||||||||||
| Week-02 (06 Apr - 10 Apr) |
06,07. Graph Algorithms: DFS 08. Graph Algorithms: DFS |
06,07. [PDF] [Youtube] 08. [PDF] [Youtube] |
|
Section 3.2, 3.3, 3.4. | |||||||||||
| Week-03 (13 Apr - 17 Apr) |
09. Graph Algorithms: Max bandwidth 10. Graph Algorithms: BFS 11. Graph Algorithms: Dijkstra 12. Graph Algorithms: Dijkstra Running Time |
09. [PDF] [Youtube] 10. [PDF] [Youtube] 11. [PDF] [Youtube] 12. [PDF] [Youtube] |
|
Chapter 4, Section 4.1, 4.2, 4.3, 4.4, 4.5 |
|||||||||||
| Week-04 (20 Apr - 24 Apr) |
13. Greedy Algorithms: Overview 14. Greedy Algorithms: Scheduling Problem 15. Greedy Algorithms: Another Scheduling Problem |
13. [PDF]
[Youtube] 14. [PDF] [Youtube] 15. [PDF] [Youtube] |
|
Chapter 5: Greedy Algorithms Chapter 9: Approximation Algorithms |
|||||||||||
| Week-05 (27 Apr - 01 May) |
16. Greedy Algorithms: Proof Strategies 17. Greedy Algorithms: Kruskal's MST Algorithm 18. Greedy Algos: Data Structs for Disjoint Sets 19. (optional) Greedy Algos: Amortized Analysis 20. (optional) Approximation: Introduction |
16. [PDF]
[Youtube] 17. [PDF] [Youtube] 18. [PDF] [Youtube] 19. [PDF] [Youtube] 20. [PDF] [Youtube1] [Youtube2] |
|
Chapter 5: Greedy Algorithms Chapter 9: Approximation Algorithms |
|||||||||||
| Week-06 (04 May - 08 May) |
21. D&C: Multiplication 22. D&C: Master Theorem 23. D&C: Sorting and Selection 24. D&C: More examples |
21. [PDF]
[Youtube] 22. [PDF] [Youtube] 23. [PDF] [Youtube] 24. [PDF] [Youtube] |
|
Chapter 2: Divide and Conquer |
|||||||||||
| Week-07 (11 May - 15 May) |
25. Intro to Dynamic Programming: Back-Tracking |
25. [PDF]
[Youtube] |
|
Chapter 2: Divide and Conquer Chapter 9: Back-Tracking |
|||||||||||
| Week-08 (18 May - 22 May) |
26. Dynamic Programming I 27. Dynamic Programming II 28. Dynamic Programming: String Algorithms |
26. [PDF]
[Youtube] 27. [PDF] [Youtube1] [Youtube2] 28. [PDF] [Youtube] |
|
Chapter 6: Dynamic Programming Chapter 4: Dynamic Programming (Bellman-Ford) |
|||||||||||
| Week-09 (25 May - 29 May) |
29. Dynamic Programming: Shortest Paths |
29. [PDF]
[Youtube] |
|
Chapter 6: Dynamic Programming Chapter 4: Dynamic Programming (Bellman-Ford) Chapter 7: Network Flow / Linear Programming |
|||||||||||
| Week-10 (01 Jun - 05 Jun) |
30. Network Flow 31. NP-Completeness |
30. [PDF]
[Youtube] 31. [PDF] OPTIONAL |
|
Chapter 7: Network Flow / Linear Programming Chapter 8: NP-Completeness |