
Introduction to Algorithms
CSE 421 | Spring 2025Course schedule and topics†
March 31
Lecture 1
Thinking like a computer scientist
- Preamble: course logistics, information, etc.
- The stable matching algorithm
- Pset 1 released due Apr 9th
Literature
- K&T: 1
April 2
Lecture 2
The stable matching algorithm
- Continuation of stable matching algorithm
- The RAM model for computation
Literature
- K&T: 1.2-2.4
April 3
Section 1
Overview and stable matchings
April 4
Lecture 3
Graph traversal
- Overview of the course
- Introduction to greedy algorithms
Literature
- K&T: 3-3.2, 4.1
April 7
Lecture 4
Graph traversal
- Breadth- and depth-first search
Literature
- K&T: 3.3-3.6, DPV: 4.2-4.3
April 9
Lecture 5
Topological sort and greedy algorithms
- Topological sort
- Principles of greedy algorithms
- Exchange principle, greedy algorithm proof techniques
- Minimum lateness problem
Literature
- K&T: 4-4.2, DPV: 5-5.1
April 10
Section 2
Section
April 11
Lecture 6
Greedy approximation and graph algorithms
- Max cut problem and greedy approximation algorithm
- Shortest path problem, Dijkstra's
Literature
- K&T: 12.4,4.4-4.7, DPV: 4.4-4.7
April 14
Lecture 7
Minimum spanning trees
- Minimum spanning trees
- Prim's and Kruskal's algorithms
- k-clustering of datapoints
Literature
- K&T: 12.4,4.4-4.7, DPV: 4.4-4.7
April 16
Lecture 8
Divide and conquer algorithms
- Binary search and mergesort
- 2D Euclidean shortest distance
- The master theorem
Literature
- K&T: 5-5.4, DPV: 2.2-2.4
April 18
Lecture 9
Multiplication
- Matrix, integer, and polynomial multiplication
- Strassen's algorithm
- Karatsuba's algorithm
- Fast Fourier Transform
Literature
- K&T: 5.5-5.6, DPV: 2.5-2.6
April 21
Lecture 10
Randomized divide and conquer
- Median, Selection, and Quicksort
- Derandomization
Literature
- K&T: 13.5, DPV: 2.4
April 23
Lecture 11
Dynamic programming I
- Principles of dynamic programming
- Tribonacci numbers
- Edit distance
Literature
- K&T: 6,6.2,6.6, DPV 6.3
April 25
Lecture 12
Dynamic programming II: The Knapsack problem
- Brute force algorithm
- Dynamic programming algorithm
- Approximation algorithm
Literature
- K&T: 6.4, 11.8, DPV 6.4
April 28
Lecture 13
Dynamic programming III
- Space complexity
- RNA secondary sequences
- Top-down vs bottom-up
Literature
April 30
Lecture 14
Dynamic programming IV
- Bellman-Ford algorithm
- Applications
Literature
May 1
Question & Answer
Question & Answer
- With Professor Nirkhe. Location: CSE2 G01. Time: 5:30pm-7:30pm.
- No planned topic. Bring any questions you have or topics you want clarified.
- Recording quality may be wanting as it will be on whiteboard.
May 2
Lecture 15
Network flow
- Definition of max flow and min cut
- Value of a flow, equivalent definitions
- Greedy flow algorithm: Ford-Fulkerson
Literature
- K&T: 7-7.2
May 5
Midterm
Midterm
- Location: Lecture Hall CSE2 G20
- Time: 1 Hour. Starts exactly at 3:30 and ends exactly at 4:30.
- Disability Requests that are approved will be in CSE2 345
- Contact head TAs to arrange your specific requirements. Otherwise we assume you are taking standard exam despite your disability requests.
- You may bring 1 8.5x11 page of notes (both sides). We will provide all definitions and remind you on necessary theorems.
May 7
Lecture 16
Max flow/min cut
- Ford-Fulkerson algorithm
Literature
May 9
Lecture 17
Network flow in polynomial time
Literature
May 12
Lecture 18
Flow algorithm applications I
Literature
May 14
Lecture 19
Flow algorithm applications II
Literature
May 16
Lecture 20
Linear programming I
Literature
May 19
Lecture 21
Linear programming II
Literature
May 20
Lecture 22
Non-deterministic polynomial time I
Literature
May 23
Lecture 23
Non-deterministic polynomial time I
Literature
May 28
Lecture 24
Non-deterministic polynomial time II
Literature
May 30
Lecture 25
Non-deterministic polynomial time III
Literature
June 2
Lecture 26
Algorithms for linear programming
Literature
June 4
Lecture 27
Approximation algorithms
Literature
June 5
Question & Answer
Question & Answer
- With Professor Nirkhe. Location: CSE2 G01. Time: 5:30pm-7:30pm.
- No planned topic. Bring any questions you have or topics you want clarified.
- Recording quality may be wanting as it will be on whiteboard.
June 6
Lecture 28
Parametrized complexity, SAT solvers, quantum computing
Literature
June 12
Final
Final
- Location: Lecture Hall CSE2 G20
- Time: 2 Hour. Starts exactly at 2:30 and ends exactly at 4:30.
- Disability Requests that are approved will be in CSE2 345
- Contact head TAs to arrange your specific requirements. Otherwise we assume you are taking standard exam despite your disability requests.
- You may bring 1 8.5x11 page of notes (both sides). We will provide all definitions and remind you on necessary theorems.