*Python Algorithms* explains the Python approach to algorithm analysis and design. Written by **Magnus Lie Hetland**, author of *Beginning Python*, this book is sharply focused on classical algorithms, but it also gives a solid understanding of fundamental algorithmic problem-solving techniques.

- The book deals with some of the most important and challenging areas of programming and computer science, but in a highly pedagogic and readable manner.
- The book covers both algorithmic theory and programming practice, demonstrating how theory is reflected in real Python programs.
- Well-known algorithms and data structures that are built into the Python language are explained, and the user is shown how to implement and evaluate others himself.

### What you’ll learn

- Transform new problems to well-known algorithmic problems with efficient solutions, or show that the problems belong to classes of problems thought not to be efficiently solvable.
- Analyze algorithms and Python programs both using mathematical tools and basic experiments and benchmarks.
- Prove correctness, optimality, or bounds on approximation error for Python programs and their underlying algorithms.
- Understand several classical algorithms and data structures in depth, and be able to implement these efficiently in Python.
- Design and implement new algorithms for new problems, using time-tested design principles and techniques.
- Speed up implementations, using a plethora of tools for high-performance computing in Python.

### Who this book is for

The book is intended for Python programmers who need to learn about algorithmic problem-solving, or who need a refresher. Students of Computer Science, or similar programming-related topics, such as bioinformatics, may also find the book to be quite useful.

## Comments