Description
A very good course in the fundamentals of algorithmics. Starting with the simplest topics (algorithms on numbers, primality and factorisation), the authors go on to discuss, among other things, divide-and-conquer algorithms, sorting and median-finding algorithms, the fast Fourier transform, and data structures and graphs.
The book takes an innovative approach to dynamic programming and linear programming (an intuitive treatment of the simplex algorithm, duality and reduction to the basic problem). It also presents ways of solving NP-complete problems using greedy search and local search algorithms.
The final chapter describes quantum algorithms. The authors give a short introduction to quantum physics, which makes this chapter accessible even to readers who have had no previous contact with the subject.