(In the books about algorithms, some narratives are very rigorous, but not comprehensive enough; others involve a large number of topics, but lack rigor. This book combines rigor and comprehensiveness, discusses various algorithms in depth, and strives to make the design and analysis of these algorithms acceptable to readers at all levels. The chapters of the book are self-contained and can be used as independent learning units; the algorithm is described in English and pseudo-code, which can be understood by people with preliminary programming experience; explanations and explanations strive to be simple and easy to understand, without losing depth and mathematical rigor.The book is classic, rich in content, reasonable in structure, and clear in logic. It is a very practical textbook for undergraduate data structure courses and graduate algorithm courses. In the career of IT professionals, this book is also a desk must-have Reference book or engineering practice manual.Major changes in the third edition:Added van Emde Boas tree and multi-threaded algorithm, and moved the matrix basis to the appendix.Revised the recursive (now called "divide and conquer strategy") chapter to cover divide and conquer more broadly.Remove the content that is rarely taught in two chapters: Binomial Heap and Sorting Network.Revised the content of dynamic programming and greedy algorithm.The flow network related material is now based on all flows on the side.)