PART ONE PRELIMINARIES 3
1.Introduction and Historical Review OR What’s It All About? 3
2.Algorithms and Data OR Getting It Done 19
3.Programming Languages OR Getting It Done by Computer 50
PART TWO METHODS AND ANALYSIS 79
4.Algorithmic Methods OR Getting It Done Methodically 79
5.The Correctness of Algorithms OR Getting It Done Right 91
6.The Efficiency of Algorithms OR Getting It Done Cheaply 119
PART THREE LIMITATIONS AND ROBUSTNESS 151
7.Inefficiency and Intractability OR You Can’t Always Get It Done Cheaply 151
8.Noncomputability and Undecidability OR Sometimes You Can’t Get It Done at All! 184
9.Algorithmic Universality and Its Robustness OR The Simplest Machines that Get It Done 210
PART FOUR RELAXING THE RULES 257
10.Parallelism and Concurrency OR Getting It Done by Cooperating 257
11.Probabilistic Algorithms OR Getting It Done by Tossing Coins 302
12.Algorithmics and Intelligence OR Are They Better at It than Us? 333
Postscript 355
Bibliographic Notes 357
Index 405