This excellent book introduces algorithms that are heavily used in daily life, yet are unknown to the general public. The author aims to introduce them without requiring advanced knowledge:
I assumed that the great algorithms would fall into two catagories. The first category would be algorithms with some simple yet clever trick at their core – a trick that could be explained without requiring any technical knowledge. The second category would be algorithms that depended so intimately on advanced computer science … Imagine my surprise and delight when I discovered that all the chosen algorithms fell into the second category!
The book is a fun read and despite knowing some of the details already, it helped to build my appreciation of the algorithms and their applications.
The algorithms covered are:
- Search engine indexing
- PageRank
- Public key cryptography
- Error-correcting codes
- Pattern recognition
- Data compression
- Databases – reliability and consistency
- Digital signatures
There’s also an excellent chapter on unsolvable problems, with a nod to Alan Turing.