This textbook covers the mathematical foundations of the analysis of algorithms. The gist of the book is how to argue, without the burden of excessive formalism, that a given algorithm does what it is supposed to do. The two key ideas of the proof of correctness, induction and invariance, are employed in the framework of pre/post-conditions and loop invariants.
The algorithms considered are the basic and traditional algorithms of computer science, such as Greedy, Dynamic and Divide & Conquer. In addition, two classes of algorithms that rarely make it into introductory textbooks are discussed. Randomized algorithms, which are now ubiquitous because of their applications to cryptography; and Online algorithms, which are essential in fields as diverse as operating systems (caching, in particular) and stock-market predictions.
This self-contained book is intended for undergraduate students in computer science and mathematics.
Pay easily by card, Klarna, Apple Pay or Google Pay. Not happy? You always have a 14-day money-back guarantee. Read more in our terms. If you have any questions, email us at hello@memmo.org.
Memmo makes studying easier – wherever you are in the world. We bring your course books and smart study tools together in one place: summaries, quizzes, podcasts and flashcards. Plus Ted, your study buddy who answers anything you wonder. Over 75,000 students already study here – built to help you learn faster and stress less.