CS G526 Advanced Algorithms and Complexity
Aug–Dec 2026

Table of Contents

When and Where

Lectures

  • Time: Mon Wed Fri 9:00 AM – 9:50 AM
  • Place: D103

Exams

  • Midsem Exam: 07 October Wednesday, 9:30 AM – 11:00 AM
  • Comprehensive Exam: 04 December Friday, 10:00 AM – 1:00 PM

Google Calendar

Click here to add the course calendar or scan the QR code below.

google-calendar.png

People

  • Students
    • M.E. (CSE) 1st year, 1st semester
    • Ph.D. students
  • Staff
    • Aniket Basu Roy (Instructor-in-Charge)
    • K Tharian Thomas (Teaching assistant)

Zulip Chat

Click here to join the course Zulip chat or scan the QR code below.

zulip.png

Course Webpage

Click here to visit the course webpage or scan the QR code below.

webpage.png

References

  1. [KT] Kleinberg, J., & Tardos, E. (2006). Algorithm Design. Pearson/Addison-Wesley.
  2. [DPV] Dasgupta, S., Papadimitriou, C. H., & Vazirani, U. V. (2006). Algorithms. McGraw-Hill.
  3. [Vaz] Vazirani, V. V. (2001). Approximation Algorithms. Springer.
  4. [MR] Motwani, R., & Raghavan, P. (1995). Randomized Algorithms. Cambridge University Press.

A Tentative List of Topics

Preliminaries

  • Motivation and Warmup
  • Growth of Functions. Asymptotic Notations
  • Review of Graph Theory Basics

Algorithmic Paradigms

  • Greedy Algorithms
  • Divide and Conquer
  • Dynamic Programming
  • Linear Programming

Computational Complexity

  • Complexity Classes P, NP, PSPACE
  • Reductions

Advanced Topics

  • Approximation Algorithms
  • Randomized Algorithms
  • Local Search
  • Hardness of Approximation

Evaluation and Grading Policy

Comprehensive Exam 40%
Midsem Exam 25%
Others 35%

Continuous Evaluation Components

  • Problem Sets (4x)
  • Paper Reading, Report Writing, Presenting
  • Scribing

Office Hours

  • When: Fridays, 11:00 AM – 12:00 noon
  • Where: D256

Handout

  • pdf (As submitted to the Instruction Office. Last updated on 14/08)

Lecture Schedule

Lecture 0 (03/08)

Lecture 1 (05/08)

Lecture 2 (07/08)

  • Asymptotic Notations, Review of Graph Theory Basics
  • Scribe: Amoghavarsha, Sakshi pdf

Lecture 3 (10/08)

  • Job Scheduling, KT 4.1
  • Scribe: Antra, Siddhant pdf

Lecture 4 (12/08)

  • Minimum Spanning Trees, Prim-Jarník algorithm, Cut Property, KT 4.5
  • [Non-eval HW] Prove the time complexity of the implementation using min-heaps.
  • Scribe: Sai, Bhaskar pdf

Lecture 5 (14/08)

  • Single Source Shortest Path problem, Dijkstra's algorithm, KT 4.4
  • [Non-eval HW] Prove the time complexity of the implementation using min-heaps.
  • Scribe: Dhruv, Yash pdf

Lecture 6 (17/08)

  • Huffman Codes, Time Complexity, KT 4.8
  • Scribe: Prabal, Naisargi pdf

Lecture 7 (19/08)

  • Huffman Codes, Proof of Correctness, KT 4.8
  • Scribe: Vardan, Prajwal pdf

Lecture 8 (21/08)

  • Finding the Closest Pair of Points in the Plane, KT 5.4
  • Scribe: Saketh, Kalidas pdf

Lecture 9 (24/08)

  • Maximum Independent Set of Rectangles - A Divide-and-Conquer Algorithm
  • Reference: Agarwal, P. K., Van Kreveld, M., & Suri, S. (1998). Label placement by maximum independent set in rectangles. Computational Geometry, 11(3-4), 209-218. Section 3 of the paper. https://doi.org/10.1016/S0925-7721(98)00028-5
  • Scribe: Gandharva, Niranjan pdf

Lecture 10 (31/08)

  • Weighted Job (Interval) Scheduling, KT 6.1
  • Scribe: Shubham Bhilare, Sarang Shastry pdf

Lecture 11 (02/09)

Lecture 12 (07/09)

  • Sequence Alignment, KT 6.6
  • [non-eval] Read how this problem is related to the Shortest Path problem in the graph defined at the end of KT 6.6.
  • Scribe: Dhruv, Sahil pdf

Lecture 13 (09/09)

  • Sequence Alignment, KT 6.6, 6.7
  • Scribe: Harsha, Nidheesh pdf

Lecture 14 (11/09)

  • Sequence Alignment, KT 6.7
  • Scribe: Mayank, Vikranth pdf

Lecture 15 (16/09)

  • Single Source Shortest Paths in Graphs, KT 6.8, 6.10
  • Scribe: Shubham Bhilare, Abinaya pdf

Lecture 16 (18/09)

  • Network Flows, Residual graphs, KT 7.1

Lecture 17 (21/09)

  • Network Flows, Ford-Fulkerson algorithm and its running time, KT 7.1

Lecture 18 (23/09)

  • Network Flows, Max-Flow Min-Cut theorem, Correctness of the Ford-Fulkerson algorithm, KT 7.2

Lecture 19 (25/09)

  • Network Flows, The Bipartite Matching Problem, Hall's Matching Theorem, KT 7.5

Lecture 20 (28/09)

  • Network Flows, Edge-Disjoint Paths in Directed Graphs, Menger's Theorem, KT 7.6

Lecture 21 (30/09)

  • Problem session

Lecture 22 (12/10)

  • Computational Complexity, Polynomial-Time Reductions, KT 8.1

Lecture 23 (14/10)

  • Polynomial-Time Reductions, Independent Sets, Vertex Cover, Set Cover, KT 8.1

Lecture 24 (16/10)

  • Polynomial-Time Reductions, 3-SAT, Efficient Solvers versus Efficient Certifiers, KT 8.2, 8.3.

Lecture 25 (19/10)

  • Complexity Classes — P, NP. P is a subset of NP.
  • NP-hardness, NP-completeness.
  • Circuit Satisfiability, Statement of Cook-Levin theorem.
  • KT 8.3, 8.4.

Lecture 26 (21/10)

  • Reducing Circuit Satisfiabilty to 3-SAT, KT 8.4

Lecture 27 (30/10)

  • Statement of Exponential Time Hypothesis, and the recent claim of OpenAI and Anthropic
  • Linear Programming formulations of Minimum Vertex Cover, Minimum Set Cover

Lecture 28 (02/11)

  • Linear Programming formulations of Interval Scheduling problem and Minimum Piercing Set for Intervals

Lecture 29 (04/11)

  • Maximization and minimization problems. The relation between ILP optimum and LP optimum
  • Weak duality theorem and its proof
  • Strong duality theorem
  • Integrality and duality gaps
  • Intoduction to approximation algorithms. A 2-approximation algorithm for the minimum vertex cover algorithm

Created: 2026-11-04 Wed 12:00

Emacs 31.1 (Org mode 9.8.7)