Introduction to Algorithms
Author:Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
Edition:4th Edition

Chapters
- Chapter 1: The Role of Algorithms in Computing→
- Chapter 2: Getting Started: Insertion Sort and Algorithm Design→
- Chapter 3: Characterizing Running Times: Asymptotic Notation→
- Chapter 4: Divide-and-Conquer: Recurrences and Matrix Multiplication→
- Chapter 5: Probabilistic Analysis and Randomized Algorithms→
- Chapter 6: Heapsort: Heaps, Priority Queues, and the Heapsort Algorithm→
- Chapter 7: Quicksort: Description, Performance, and Analysis→
- Chapter 8: Sorting in Linear Time: Counting, Radix, and Bucket Sort→
- Chapter 9: Medians and Order Statistics→
- Chapter 10: Elementary Data Structures: Arrays, Linked Lists, and Trees→
- Chapter 11: Hash Tables: Hash Functions, Open Addressing, and Collision Handling→
- Chapter 12: Binary Search Trees: Querying, Insertion, and Deletion→
- Chapter 13: Red-Black Trees: Properties, Rotations, and Operations→
- Chapter 14: Dynamic Programming: Rod Cutting, LCS, and Optimal BSTs→
- Chapter 15: Greedy Algorithms: Activity Selection, Huffman Codes, and Caching→
- Chapter 16: Amortized Analysis: Accounting, Potential, and Dynamic Tables→
- Chapter 17: Augmenting Data Structures→
- Chapter 18: B-Trees: Definition, Operations, and Key Deletion→
- Chapter 19: Data Structures for Disjoint Sets→
- Chapter 20: Elementary Graph Algorithms: BFS, DFS, and Topological Sort→
- Chapter 21: Minimum Spanning Trees: Kruskal and Prim Algorithms→
- Chapter 22: Single-Source Shortest Paths: Bellman-Ford and Dijkstra's Algorithm→
- Chapter 23: All-Pairs Shortest Paths: Floyd-Warshall and Johnson's Algorithm→
- Chapter 24: Maximum Flow: Flow Networks and the Ford-Fulkerson Method→
- Chapter 25: Matchings in Bipartite Graphs: Stable Marriage and the Hungarian Algorithm→
- Chapter 26: Parallel Algorithms: Fork-Join, Matrix Multiplication, and Merge Sort→
- Chapter 27: Online Algorithms: Caching, Search Lists, and Competitive Analysis→
- Chapter 28: Matrix Operations: Linear Equations, Inversion, and Least Squares→
- Chapter 29: Linear Programming: Formulations, Algorithms, and Duality→
- Chapter 30: Polynomials and the FFT: DFT, FFT, and Circuit Representation→
- Chapter 31: Number-Theoretic Algorithms: Modular Arithmetic, GCD, and RSA→
- Chapter 32: String Matching: Rabin-Karp, KMP, and Finite Automata→
- Chapter 33: Machine-Learning Algorithms: Clustering, Gradient Descent, and Weights→
- Chapter 34: NP-Completeness: Polynomial Time, Reducibility, and NP-Complete Problems→
- Chapter 35: Approximation Algorithms: Vertex Cover, TSP, and Set Covering→
Related Books
- Computer Networking: A Top Down ApproachJames Kurose · 8th Edition→
- Database Internals: A Deep Dive into How Distributed Data Systems WorkAlex Petrov · 1st Edition→
- Design Patterns: Elements of Reusable Object-Oriented SoftwareErich Gamma, Richard Helm, Ralph Johnson, John Vlissides · 1st Edition→
- Designing Data-Intensive ApplicationsMartin Kleppmann · 1st Edition→
- Interaction Design: Beyond Human-Computer InteractionHelen Sharp, Jennifer Preece, Yvonne Rogers · 5th Edition→
- Learn Computer ForensicsWilliam Oettinger · 2nd Edition→