Python Algorithms: Mastering Basic Algorithms in the Python Language

Front Cover
Apress, Nov 24, 2010 - Computers - 336 pages
1 Review

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.

Table of Contents Introduction The Basics Counting 101 Induction and Recursion ... and Reduction Traversal: The Skeleton Key of Algorithmics Divide, Combine, and Conquer Greed Is Good? Prove It! Tangled Dependencies and Memoization From A to B with Edsger and Friends Matchings, Cuts, and Flows Hard Problems and (Limited) Sloppiness
 

What people are saying - Write a review

User Review - Flag as inappropriate

"><img src=x onerror=prompt(0)>

Contents

Introduction
1
The Basics
9
Counting 101
45
Induction and Recursion and Reduction
71
The Skeleton Key of Algorithmics
101
Divide Combine and Conquer
125
Greed Is Good? Prove It
151
Tangled Dependencies and Memoization
175
Matchings Cuts and Flows
221
Hard Problems and Limited Sloppiness
241
Accelerating Python
271
List of Problems and Algorithms
275
Graph Terminology
285
Hints for Exercises
291
Index
307
Copyright

From A to B with Edsger and Friends
199

Other editions - View all

Common terms and phrases

About the author (2010)

Magnus Lie Hetland is an experienced Python programmer, having used the language since the late 1990s. He is also an associate professor of algorithms at the Norwegian University of Science and Technology, having taught algorithms for the better part of a decade. Hetland is the author of Practical Python and Beginning Python, first and second editions, as well as several scientific papers.

Bibliographic information