Maximum Bipartite Matching

Two groups where members can connect across groups. Find the maximum number of matched pairs.

50 lessons
145 min

Lessons

1. Intro

(Pairing people and tasks)

3m

2. What Is a Matching

(No shared endpoints)

3m

3. Maximum Matching

(Largest possible set)

3m

4. Perfect Matching

(Everyone gets paired)

3m

5. Augmenting Paths

Alternating matched and unm...

3m

6. Why Augmenting Paths Work

(One more edge each time)

3m

7. Finding Augmenting Paths

(DFS from unmatched nodes)

3m

8. Quiz: Augmenting Paths in Matching

Knowledge check

2m1 problems

9. Kuhn's Algorithm

Greedy augmenting path search

3m

10. Kuhn's Algorithm - Pseudocode

(Try to match left node)

3m

11. Problem - School Dance

(CSES 1696)

3m1 problems

12. Problem - School Dance - Read Statement

(CSES link)

3m1 problems

13. School Dance - Core Idea

(Bipartite matching directly)

3m

14. School Dance - Algorithm

(DFS-based matching)

3m

15. School Dance - Implementation

(C++ Kuhn's algorithm)

3m1 problems

16. School Dance - Walkthrough

(3 boys 4 girls)

3m

17. School Dance - Lessons

(Direct bipartite matching)

3m

18. Quiz: Kuhn's Algorithm Complexity

Knowledge check

2m1 problems

19. Reduction to Max Flow

(Flow network construction)

3m

20. Why Max Flow Works

(Flow equals matching)

3m

21. König's Theorem

(Matching equals vertex cover)

3m

22. Proof Idea of König's Theorem

(Construction from matching)

3m

23. Hall's Marriage Theorem

Condition for perfect matching

3m

24. Checking Hall's Condition

(Exponential subsets)

3m

25. Quiz: Hall's Marriage Theorem

Knowledge check

2m1 problems

26. Application - Job Assignment

(Workers and tasks)

3m

27. Application - Scheduling

(Time slots and tasks)

3m

28. Problem - Maximum Matching

(General bipartite graph)

3m1 problems

29. Maximum Matching - Core Idea

(Kuhn's algorithm directly)

3m

30. Maximum Matching - Implementation

(Python version)

3m1 problems

31. Maximum Matching - Walkthrough

(4 left 3 right)

3m

32. Maximum Matching - Lessons

(Recursive rematching)

3m

33. Problem - Assign Cookies

(Greedy vs matching)

3m1 problems

34. Assign Cookies - Greedy Solution

(Two pointers)

3m

35. Assign Cookies - Matching Solution

(Bipartite matching approach)

3m

36. Assign Cookies - Implementation

(Greedy two pointers)

3m1 problems

37. Assign Cookies - Lessons

(When to use matching)

3m

38. Quiz: Konig's Theorem

Knowledge check

2m1 problems

39. Weighted Bipartite Matching

(Maximum weight matching)

3m

40. Online Bipartite Matching

(Nodes arrive over time)

3m

41. Common Mistakes

Matching impl errors

3m

42. Improvement - Early Termination

(Stop when matching is full)

3m

43. Hopcroft-Karp Algorithm

(Faster maximum matching)

3m

44. When to Use Each Algorithm

Kuhn vs Max Flow vs Hopcrof...

3m

45. Minimum Vertex Cover from Matching

(König's theorem application)

3m

46. Minimum Edge Cover

(Cover with edges)

3m

47. Maximum Independent Set

(Complement of vertex cover)

3m

48. Quiz: Matching and Independence

Knowledge check

2m1 problems

49. Checklist - Bipartite Matching

(When to use)

3m

50. Section Recap

(Maximum matching algorithms)

3m

Practice Problems

2.
Beautiful ArrangementLeetCodemedium
3.
School DanceCSESmedium
4.
Matching ReductionCodeforceshard
5.
Complete the GraphCodeforceshard

Ready to start learning?

Access all 50 lessons with interactive content and progress tracking.