
Introduction to Algorithms
Description
Book Introduction
A Guide to Algorithm Learning and Evolution
This is the latest revised edition of the famous book that has established itself as the bible of algorithmic learning worldwide.
While maintaining the strengths of the previous edition, which encompassed both the depth and breadth of algorithms and balanced theory and practice, numerous changes have been made to further upgrade its completeness.
The 4th edition covers three new topics: bipartite graph matching, online algorithms, and machine learning algorithms. Several sections have been updated with algorithms that reflect the latest research findings and technological changes in each field.
Additionally, explanations have been made clearer, 140 new practice problems and 22 comprehensive problems have been added, and many existing problems have been improved based on reader feedback.
※ Some answers to the practice/comprehensive problems in this book are available at http://mitpress.mit.edu/algorithms.
This is the latest revised edition of the famous book that has established itself as the bible of algorithmic learning worldwide.
While maintaining the strengths of the previous edition, which encompassed both the depth and breadth of algorithms and balanced theory and practice, numerous changes have been made to further upgrade its completeness.
The 4th edition covers three new topics: bipartite graph matching, online algorithms, and machine learning algorithms. Several sections have been updated with algorithms that reflect the latest research findings and technological changes in each field.
Additionally, explanations have been made clearer, 140 new practice problems and 22 comprehensive problems have been added, and many existing problems have been improved based on reader feedback.
※ Some answers to the practice/comprehensive problems in this book are available at http://mitpress.mit.edu/algorithms.
- You can preview some of the book's contents.
Preview
index
PART 01 Basics
Chapter 01 The Role of Algorithms
1.1 Algorithm
1.2 Algorithms as Technology
Chapter 02 Getting Started
2.1 Insertion sort
2.2 Analysis of the Algorithm
2.3 Algorithm Design
Chapter 03 Execution Time Characterization
3.1 O-notation, Ω-notation, Θ-notation
3.2 Asymptotic notation: Formal definition
3.3 Standard notation and commonly used functions
Chapter 04 Divide and Conquer
4.1 Multiplying square matrices
4.2 Strassen's algorithm for matrix multiplication
4.3 Substitution method to solve the ignition formula
4.4 Recursive tree method for solving recurrence relation
4.5 Master method for solving ignition equations
4.6 Proof of the Continuous Master Theorem
4.7 Accra-Bazzi ignition
Chapter 05 Probabilistic Analysis and Randomized Algorithms
5.1 Employment Issues
5.2 Indicator probability variables
5.3 Randomized Algorithm
5.4 Probabilistic Analysis and Other Uses of Indicator Probability Variables
PART 02 Sorting and Order Statistics
Chapter 06 Heap Sort
6.1 Heap
6.2 Maintaining Heap Properties
6.3 Creating a heap
6.4 Heap sort algorithm
6.5 Priority Queue
Chapter 07 Quick Sort
7.1 Introduction to Quick Sort
7.2 Quick sort performance
7.3 Randomized quicksort
7.4 Quicksort Analysis
Chapter 08 Linear Time Sorting
8.1 Lower bounds of sorting
8.2 Counting sort
8.3 Radix sort
8.4 Bucket sort
Chapter 09 Median and Order Statistics
9.1 Minimum and maximum values
9.2 Choosing on average linear execution time
9.3 Choosing in worst-case linear time
PART 03 Data Structures
Chapter 10 Basic Data Structures
10.1 Simple array-based data structures: arrays, matrices, stacks, and queues
10.2 Linked Lists
10.3 Representing a Rooted Tree
Chapter 11 Hash Tables
11.1 Direct Address Table
11.2 Hash Table
11.3 Hash Functions
11.4 Open Address Method
11.5 Practical Considerations
Chapter 12 Binary Search Trees
12.1 Concept of binary search tree
12.2 Queries on Binary Search Trees
12.3 Insertion and Deletion
Chapter 13 Red Black Tree
13.1 Characteristics of Red-Black Trees
13.2 rotations
13.3 Insert
13.4 Delete
PART 04 ADVANCED DESIGN AND ANALYSIS TECHNIQUES
Chapter 14 Dynamic Programming ㆍ 385
14.1 Cutting the Bar
14.2 Matrix Chain Multiplication
14.3 Elements of Dynamic Programming
14.4 Longest Common Subsequence (LCS)
14.5 Optimal Binary Search Tree
Chapter 15 Greedy Algorithms
15.1 Activity Selection Problem
15.2 Elements of Greedy Methods
15.3 Huffman code
15.4 Offline Caching
Chapter 16 Split Payment Analysis
16.1 Total Analysis
16.2 Settlement Method
16.3 Latent function method
16.4 Dynamic Tables
PART 05 ADVANCED DATA STRUCTURES
Chapter 17: Extending Data Structures
17.1 Dynamic Order Statistics
17.2 Data Structure Extension Techniques
17.3 Interval Tree
Chapter 18 B-Trees
18.1 Definition of B-tree
18.2 Basic Operations on B-Trees
18.3 Deleting a Key in a B-Tree
Chapter 19 Data Structures for Disjoint Sets
19.1 Operations on disjoint sets
19.2 Linked list representation of disjoint sets
19.3 Disjoint Set Forest
19.4 Analysis of Unions by Rank Using Path Compression
PART 06 Graph Algorithms
Chapter 20 Basic Graph Algorithms
20.1 Representation of Graphs
20.2 Breadth-First Search
20.3 Depth-first search
20.4 Topological sorting
20.5 Strong connection elements
Chapter 21 Minimum Spanning Trees
21.1 Extension of the minimum spanning tree
21.2 Kruskal's algorithm and Prim's algorithm
Chapter 22 Single-Starting Point Shortest Path
22.1 Bellman-Ford Algorithm
22.2 Single-origin shortest path in a directed acyclic graph
22.3 Dijkstra's algorithm
22.4 Difference Constraints and Shortest Paths
22.5 Proof of the shortest path property
Chapter 23 All-pair Shortest Paths
23.1 Shortest Paths and Matrix Multiplication
23.2 Floyd-Warshall Algorithm
23.3 Johnson's algorithm for sparse graphs
Chapter 24 Maximum Flow
24.1 Flow Network
24.2 Ford-Fulkerson method
24.3 Maximum Bipartite Matching
Chapter 25 Matching in Bipartite Graphs
25.1 Maximum Bipartite Matching (Revisit)
25.2 Stable Marriage Issues
25.3 Hungarian Algorithm for Assignment Problems
PART 07 Important Topics in Algorithms
Chapter 26 Parallel Algorithms
26.1 Basics of Fork-Join Parallelism
26.2 Parallel Matrix Multiplication
26.3 Parallel merge sort
Chapter 27 Online Algorithms
27.1 Waiting for the elevator
27.2 Maintaining the search list
27.3 Online Caching
Chapter 28 Matrix Operations
28.1 Solving Systems of Linear Equations
28.2 Inverse matrix
28.3 Positive definite symmetric matrices and least-squares approximations
Chapter 29 Linear Programming
29.1 Linear Programming Formulas and Algorithms
29.2 Expressing the Problem Using Linear Programming
29.3 Duality
Chapter 30 Polynomials and FFTs
30.1 Representation of polynomials
30.2 DFT and FFT
30.3 FFT circuit
Chapter 31 Number Theory Algorithms
31.1 Basic number theory concepts
31.2 Greatest Common Divisor
PART 08 APPENDIX: MATHEMATICAL FOUNDATIONS
Appendix A Sum
A.1 Sum formula and properties
A.2 Limits of Agreement
Appendix B Sets and Others
B.1 Set
B.2 Relationships
B.3 Function
B.4 Graph
B.5 Tree
Appendix C: Counting and Probability
C.1 Count
C.2 Probability
C.3 Discrete random variables
C.4 Geometric and Binomial Distributions
C.5 Tails of the binomial distribution
Appendix D Matrices
D.1 Matrices and Matrix Operations
D.2 Basic properties of matrices
Chapter 01 The Role of Algorithms
1.1 Algorithm
1.2 Algorithms as Technology
Chapter 02 Getting Started
2.1 Insertion sort
2.2 Analysis of the Algorithm
2.3 Algorithm Design
Chapter 03 Execution Time Characterization
3.1 O-notation, Ω-notation, Θ-notation
3.2 Asymptotic notation: Formal definition
3.3 Standard notation and commonly used functions
Chapter 04 Divide and Conquer
4.1 Multiplying square matrices
4.2 Strassen's algorithm for matrix multiplication
4.3 Substitution method to solve the ignition formula
4.4 Recursive tree method for solving recurrence relation
4.5 Master method for solving ignition equations
4.6 Proof of the Continuous Master Theorem
4.7 Accra-Bazzi ignition
Chapter 05 Probabilistic Analysis and Randomized Algorithms
5.1 Employment Issues
5.2 Indicator probability variables
5.3 Randomized Algorithm
5.4 Probabilistic Analysis and Other Uses of Indicator Probability Variables
PART 02 Sorting and Order Statistics
Chapter 06 Heap Sort
6.1 Heap
6.2 Maintaining Heap Properties
6.3 Creating a heap
6.4 Heap sort algorithm
6.5 Priority Queue
Chapter 07 Quick Sort
7.1 Introduction to Quick Sort
7.2 Quick sort performance
7.3 Randomized quicksort
7.4 Quicksort Analysis
Chapter 08 Linear Time Sorting
8.1 Lower bounds of sorting
8.2 Counting sort
8.3 Radix sort
8.4 Bucket sort
Chapter 09 Median and Order Statistics
9.1 Minimum and maximum values
9.2 Choosing on average linear execution time
9.3 Choosing in worst-case linear time
PART 03 Data Structures
Chapter 10 Basic Data Structures
10.1 Simple array-based data structures: arrays, matrices, stacks, and queues
10.2 Linked Lists
10.3 Representing a Rooted Tree
Chapter 11 Hash Tables
11.1 Direct Address Table
11.2 Hash Table
11.3 Hash Functions
11.4 Open Address Method
11.5 Practical Considerations
Chapter 12 Binary Search Trees
12.1 Concept of binary search tree
12.2 Queries on Binary Search Trees
12.3 Insertion and Deletion
Chapter 13 Red Black Tree
13.1 Characteristics of Red-Black Trees
13.2 rotations
13.3 Insert
13.4 Delete
PART 04 ADVANCED DESIGN AND ANALYSIS TECHNIQUES
Chapter 14 Dynamic Programming ㆍ 385
14.1 Cutting the Bar
14.2 Matrix Chain Multiplication
14.3 Elements of Dynamic Programming
14.4 Longest Common Subsequence (LCS)
14.5 Optimal Binary Search Tree
Chapter 15 Greedy Algorithms
15.1 Activity Selection Problem
15.2 Elements of Greedy Methods
15.3 Huffman code
15.4 Offline Caching
Chapter 16 Split Payment Analysis
16.1 Total Analysis
16.2 Settlement Method
16.3 Latent function method
16.4 Dynamic Tables
PART 05 ADVANCED DATA STRUCTURES
Chapter 17: Extending Data Structures
17.1 Dynamic Order Statistics
17.2 Data Structure Extension Techniques
17.3 Interval Tree
Chapter 18 B-Trees
18.1 Definition of B-tree
18.2 Basic Operations on B-Trees
18.3 Deleting a Key in a B-Tree
Chapter 19 Data Structures for Disjoint Sets
19.1 Operations on disjoint sets
19.2 Linked list representation of disjoint sets
19.3 Disjoint Set Forest
19.4 Analysis of Unions by Rank Using Path Compression
PART 06 Graph Algorithms
Chapter 20 Basic Graph Algorithms
20.1 Representation of Graphs
20.2 Breadth-First Search
20.3 Depth-first search
20.4 Topological sorting
20.5 Strong connection elements
Chapter 21 Minimum Spanning Trees
21.1 Extension of the minimum spanning tree
21.2 Kruskal's algorithm and Prim's algorithm
Chapter 22 Single-Starting Point Shortest Path
22.1 Bellman-Ford Algorithm
22.2 Single-origin shortest path in a directed acyclic graph
22.3 Dijkstra's algorithm
22.4 Difference Constraints and Shortest Paths
22.5 Proof of the shortest path property
Chapter 23 All-pair Shortest Paths
23.1 Shortest Paths and Matrix Multiplication
23.2 Floyd-Warshall Algorithm
23.3 Johnson's algorithm for sparse graphs
Chapter 24 Maximum Flow
24.1 Flow Network
24.2 Ford-Fulkerson method
24.3 Maximum Bipartite Matching
Chapter 25 Matching in Bipartite Graphs
25.1 Maximum Bipartite Matching (Revisit)
25.2 Stable Marriage Issues
25.3 Hungarian Algorithm for Assignment Problems
PART 07 Important Topics in Algorithms
Chapter 26 Parallel Algorithms
26.1 Basics of Fork-Join Parallelism
26.2 Parallel Matrix Multiplication
26.3 Parallel merge sort
Chapter 27 Online Algorithms
27.1 Waiting for the elevator
27.2 Maintaining the search list
27.3 Online Caching
Chapter 28 Matrix Operations
28.1 Solving Systems of Linear Equations
28.2 Inverse matrix
28.3 Positive definite symmetric matrices and least-squares approximations
Chapter 29 Linear Programming
29.1 Linear Programming Formulas and Algorithms
29.2 Expressing the Problem Using Linear Programming
29.3 Duality
Chapter 30 Polynomials and FFTs
30.1 Representation of polynomials
30.2 DFT and FFT
30.3 FFT circuit
Chapter 31 Number Theory Algorithms
31.1 Basic number theory concepts
31.2 Greatest Common Divisor
PART 08 APPENDIX: MATHEMATICAL FOUNDATIONS
Appendix A Sum
A.1 Sum formula and properties
A.2 Limits of Agreement
Appendix B Sets and Others
B.1 Set
B.2 Relationships
B.3 Function
B.4 Graph
B.5 Tree
Appendix C: Counting and Probability
C.1 Count
C.2 Probability
C.3 Discrete random variables
C.4 Geometric and Binomial Distributions
C.5 Tails of the binomial distribution
Appendix D Matrices
D.1 Matrices and Matrix Operations
D.2 Basic properties of matrices
Detailed image

GOODS SPECIFICS
- Date of issue: July 1, 2024
- Format: Hardcover book binding method guide
- Page count, weight, size: 1,336 pages | 2,412g | 197*265*50mm
- ISBN13: 9791156640325
- ISBN10: 1156640326
You may also like
카테고리
korean
korean