Jump to ratings and reviews
Rate this book

Python Algorithms: Mastering Algorithms in the Python Language

Rate this book
Learn to implement classic algorithms and design new problem-solving algorithms using python. This is a book about algorithmic problem solving for Python programmers. Just like books on, say, object-oriented patterns, the problems it deals with are of a general nature—as are the solutions. Your task as an algorist will, in many cases, be more than simply to implement or execute an existing algorithm, as you would, for example, in solving an algebra problem. Instead, you are expected to come up with new algorithms—new general solutions to hitherto unseen, general problems. In this book, you
are going to learn principles for constructing such solutions. This may not be your typical algorithm book, though. Most of the authoritative books on the subject (such as the Knuth’s classics or the industry-standard textbook by Cormen et al.) have a heavy formal and theoretical slant, even though some of them (such as the one by Kleinberg and Tardos) lean more in
the direction of readability. Instead of trying to replace any of these excellent books, I’d like to
supplement them. Building on my experience from teaching algorithms, I try to explain as clearly as
possible how the algorithms work and what common principles underlie many of them. For a
programmer, these explanations are probably enough. Chances are you’ll be able to understand why the
algorithms are correct and how to adapt them to new problems you may come to face. If, however, you
need the full depth of the more formalistic and encyclopedic textbooks, I hope the foundation you get in
this book will help you understand the theorems and proofs you encounter there.
There is another genre of algorithm books as the “(Data Structures and) Algorithms in blank”
kind, where the blank is the author’s favorite programming language. There are quite a few of these
(especially for blank = Java, it seems), but many of them focus on relatively basic data structures, to the
detriment of the more meaty stuff. This is understandable if the book is designed to be used in a basic
course on data structures, for example, but for a Python programmer, learning about singly and doubly
linked lists may not be all that exciting (although you will hear a bit about those in the next chapter). And
even though techniques such as hashing are highly important, you get hash tables for free in the form of
Python dictionaries; there’s no need to implement them from scratch. Instead, I focus on more high level algorithms. Many important concepts that are available as black-box implementations either in the
Python language itself or in the standard library (such as sorting, searching, and hashing) are explained
more briefly, in special “black box” sidebars throughout the text.

1420 pages, Kindle Edition

Published June 28, 2019

5 people want to read

About the author

Magnus Lie Hetland

8 books13 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
2 (66%)
4 stars
1 (33%)
3 stars
0 (0%)
2 stars
0 (0%)
1 star
0 (0%)
No one has reviewed this book yet.

Can't find what you're looking for?

Get help and learn more about the design.