Lecture Notes
by Thomas H. Cormen
to Accompany
Introduction to Algorithms
Fourth Edition
by Thomas H. Cormen
Charles E. Leiserson
Ronald L. Rivest
Clifford Stein
The MIT Press
Cambridge, Massachusetts London, England
,Instructor’s Manual to Accompany Introduction to Algorithms, Fourth Edition
by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
Published by the MIT Press. Copyright © 2022 by The Massachusetts Institute of Technology. All rights reserved.
No part of this publication may be reproduced or distributed in any form or by any means, or stored in a database
or retrieval system, without the prior written consent of The MIT Press, including, but not limited to, network or
other electronic storage or transmission, or broadcast for distance learning.
,Contents
Revision History R-1
Preface P-1
Chapter 2: Getting Started
Lecture Notes 2-1
Chapter 3: Characterizing Running Times
Lecture Notes 3-1
Chapter 4: Divide-and-Conquer
Lecture Notes 4-1
Chapter 5: Probabilistic Analysis and Randomized Algorithms
Lecture Notes 5-1
Chapter 6: Heapsort
Lecture Notes 6-1
Chapter 7: Quicksort
Lecture Notes 7-1
Chapter 8: Sorting in Linear Time
Lecture Notes 8-1
Chapter 9: Medians and Order Statistics
Lecture Notes 9-1
Chapter 10: Elementary Data Structures
Lecture Notes 10-1
Chapter 11: Hash Tables
Lecture Notes 11-1
Chapter 12: Binary Search Trees
Lecture Notes 12-1
Chapter 13: Red-Black Trees
Lecture Notes 13-1
Chapter 14: Dynamic Programming
Lecture Notes 14-1
Chapter 15: Greedy Algorithms
Lecture Notes 15-1
Chapter 16: Amortized Analysis
Lecture Notes 16-1
Chapter 17: Augmenting Data Structures
Lecture Notes 17-1
Chapter 19: Data Structures for Disjoint Sets
Lecture Notes 19-1
, iv Contents
Chapter 20: Elementary Graph Algorithms
Lecture Notes 20-1
Chapter 21: Minimum Spanning Trees
Lecture Notes 21-1
Chapter 22: Single-Source Shortest Paths
Lecture Notes 22-1
Chapter 23: All-Pairs Shortest Paths
Lecture Notes 23-1
Chapter 24: Maximum Flow
Lecture Notes 24-1
Chapter 25: Matchings in Bipartite Graphs
Lecture Notes 25-1
Chapter 30: Polynomials and the FFT
Lecture Notes 30-1
Chapter 32: String Matching
Lecture Notes 32-1
Chapter 35: Approximation Algorithms
Lecture Notes 35-1
by Thomas H. Cormen
to Accompany
Introduction to Algorithms
Fourth Edition
by Thomas H. Cormen
Charles E. Leiserson
Ronald L. Rivest
Clifford Stein
The MIT Press
Cambridge, Massachusetts London, England
,Instructor’s Manual to Accompany Introduction to Algorithms, Fourth Edition
by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
Published by the MIT Press. Copyright © 2022 by The Massachusetts Institute of Technology. All rights reserved.
No part of this publication may be reproduced or distributed in any form or by any means, or stored in a database
or retrieval system, without the prior written consent of The MIT Press, including, but not limited to, network or
other electronic storage or transmission, or broadcast for distance learning.
,Contents
Revision History R-1
Preface P-1
Chapter 2: Getting Started
Lecture Notes 2-1
Chapter 3: Characterizing Running Times
Lecture Notes 3-1
Chapter 4: Divide-and-Conquer
Lecture Notes 4-1
Chapter 5: Probabilistic Analysis and Randomized Algorithms
Lecture Notes 5-1
Chapter 6: Heapsort
Lecture Notes 6-1
Chapter 7: Quicksort
Lecture Notes 7-1
Chapter 8: Sorting in Linear Time
Lecture Notes 8-1
Chapter 9: Medians and Order Statistics
Lecture Notes 9-1
Chapter 10: Elementary Data Structures
Lecture Notes 10-1
Chapter 11: Hash Tables
Lecture Notes 11-1
Chapter 12: Binary Search Trees
Lecture Notes 12-1
Chapter 13: Red-Black Trees
Lecture Notes 13-1
Chapter 14: Dynamic Programming
Lecture Notes 14-1
Chapter 15: Greedy Algorithms
Lecture Notes 15-1
Chapter 16: Amortized Analysis
Lecture Notes 16-1
Chapter 17: Augmenting Data Structures
Lecture Notes 17-1
Chapter 19: Data Structures for Disjoint Sets
Lecture Notes 19-1
, iv Contents
Chapter 20: Elementary Graph Algorithms
Lecture Notes 20-1
Chapter 21: Minimum Spanning Trees
Lecture Notes 21-1
Chapter 22: Single-Source Shortest Paths
Lecture Notes 22-1
Chapter 23: All-Pairs Shortest Paths
Lecture Notes 23-1
Chapter 24: Maximum Flow
Lecture Notes 24-1
Chapter 25: Matchings in Bipartite Graphs
Lecture Notes 25-1
Chapter 30: Polynomials and the FFT
Lecture Notes 30-1
Chapter 32: String Matching
Lecture Notes 32-1
Chapter 35: Approximation Algorithms
Lecture Notes 35-1