Description
Book SynopsisA bestseller in its French edition, this book is original in its construction and its success in the French market demonstrates its appeal. It is based on three principles: (1) An organization of the chapters by families of algorithms: exhaustive search, divide and conquer, etc. On the contrary, there is no chapter devoted only to a systematic exposure of, say, algorithms on strings. Some of these will be found in different chapters. (2) For each family of algorithms, an introduction is given to the mathematical principles and the issues of a rigorous design, with one or two pedagogical examples. (3) For the most part, the book details 150 problems, spanning seven families of algorithms. For each problem, a precise and progressive statement is given. More importantly, a complete solution is detailed, with respect to the design principles that have been presented; often, some classical errors are pointed out. Roughly speaking, two-thirds of the book is devoted to the detailed rational c
Table of ContentsTable of Contents
Preface
-
- Mathematics and Computer Science: Some Useful Notions
-
- Complexity of an Algorithm
-
- Specifications, Invariants, Iteration
-
- Reduce and Conquer, Recursion
-
- Generate and Test
-
- Branch and Bound
-
- Greedy Algorithms
-
- Divide and Conquer
-
- Dynamic Programming
Notations
List of Problems
Bibliography
Index