CHAPTER 1

image

Introduction

  1. Write down the problem.
  2. Think real hard.
  3. Write down the solution.

— “The Feynman Algorithm” as described by Murray Gell-Mann

Consider the following problem: You are to visit all the cities, towns, and villages of, say, Sweden and then return to your starting point. This might take a while (there are 24,978 locations to visit, after all), so you want to minimize your route. You plan on visiting each location exactly once, following the shortest route possible. As a programmer, you certainly don’t want to plot the route by hand. Rather, you try to write some code that will plan your trip for you. For some reason, however, ...

Get Python Algorithms: Mastering Basic Algorithms in the Python Language, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.