Apress Access

Python Algorithms

Mastering Basic Algorithms in the Python Language

2nd Edition

By Magnus Lie Hetland

  • eBook Price: $38.99
Buy eBook Buy Print Book
Python Algorithms, Second Edition shows you how to implement classic algorithms and design new problem-solving algorithms using Python.

Full Description

  • Add to Wishlist
  • ISBN13: 978-1-484200-56-8
  • 320 Pages
  • User Level: Beginner to Intermediate
  • Publication Date: September 8, 2014
  • Available eBook Formats: EPUB, MOBI, PDF

Related Titles

  • Python Recipes Handbook
  • Lean Python
  • Learn to Program with Python
  • Go Recipes
  • Certified OpenStack Administrator Study Guide
  • Beginning Elastic Stack
  • Beginning Hibernate, 4th Edition
  • Practical LPIC-1 Linux Certification Study Guide
  • Learn CakePHP, Second Edition
  • Agile Swift
Full Description

Python Algorithms, Second Edition 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 in a highly readable manner. It 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.

What you’ll learn

  • How to 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
  • How to analyze algorithms and Python programs using both mathematical tools and basic experiments and benchmarks
  • How to understand several classical algorithms and data structures in depth, and be able to implement these efficiently in Python
  • How to design and implement new algorithms for new problems, using time-tested design principles and techniques
  • How to 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. Data and computational scientists employed to do big data analytic analysis should find this book useful. Game programmers and financial analysts/engineers may find this book applicable too. And, students of computer science, or similar programming-related topics, such as bioinformatics, may also find the book to be quite useful.

Table of Contents

Table of Contents

1. Introduction

2. The Basics

3. Counting 101

4. Induction and Recursion … and Reduction

5. Traversal: The Skeleton Key of Algorithmics

6. Divide, Combine, and Conquer

7. Greed Is Good? Prove It!

8. Tangled Dependencies and Memoization

9. From A to B with Edsger and Friends

10. Matchings, Cuts, and Flows

11. Hard Problems and (Limited) Sloppiness

12. Pedal to the Metal: Accelerating Python

13. List of Problems and Algorithms

14. Graph Terminology!

15. Hints for Exercises

Source Code/Downloads

Downloads are available to accompany this book.

Your operating system can likely extract zipped downloads automatically, but you may require software such as WinZip for PC, or StuffIt on a Mac.


If you think that you've found an error in this book, please let us know by emailing to editorial@apress.com . You will find any confirmed erratum below, so you can check if your concern has already been addressed.
No errata are currently published


    1. Pro Python


      View Book

    2. Python Data Analytics


      View Book

    3. Beginning Python


      View Book

    4. Beginning Python Visualization


      View Book