Skip to content
Register Sign in Wishlist

Competitive Programming in Python
128 Algorithms to Develop your Coding Skills


  • Date Published: December 2020
  • availability: In stock
  • format: Paperback
  • isbn: 9781108716826
Average user rating
(2 reviews)

£ 29.99

Add to cart Add to wishlist

Other available formats:

Looking for an inspection copy?

This title is not currently available on inspection

Product filter button
About the Authors
  • Want to kill it at your job interview in the tech industry? Want to win that coding competition? Learn all the algorithmic techniques and programming skills you need from two experienced coaches, problem setters, and jurors for coding competitions. The authors highlight the versatility of each algorithm by considering a variety of problems and show how to implement algorithms in simple and efficient code. Readers can expect to master 128 algorithms in Python and discover the right way to tackle a problem and quickly implement a solution of low complexity. Classic problems like Dijkstra's shortest path algorithm and Knuth-Morris-Pratt's string matching algorithm are featured alongside lesser known data structures like Fenwick trees and Knuth's dancing links. The book provides a framework to tackle algorithmic problem solving, including: Definition, Complexity, Applications, Algorithm, Key Information, Implementation, Variants, In Practice, and Problems. Python code included in the book and on the companion website.

    • Companion website provides additional pedagogical material and links to online judges for problems listed in the book
    • Ninety-three figures help readers directly visualize the definitions and principles, and also illustrate counterarguments to see why naive approaches fail
    • Written in a direct engaging style, avoiding tedious formal language, for deep understanding of underlying principles
    • Assumes basic knowledge of programming, data structures, complexity analysis, and discrete math
    Read more

    Reviews & endorsements

    'This book guides the reader through a collection of interesting problems, teaching us many ideas that underlie efficient algorithms. The simplicity of Python helps highlight the beauty and accessibility of the ideas. I found it a most enjoyable and engaging book.' Anupam Gupta, Carnegie Mellon University

    Customer reviews

    29th Jul 2020 by Ilovejam

    Cambridge is always my dream and best so this is the best Python document that I see... 3 Cambridge 3

    01st Oct 2020 by Shubhxcluzive

    I have to rear it yet, after that I will review, hopi g to getting something ground breaking from a book by a prestigious university like Cambridge

    See all reviews

    Review was not posted due to profanity


    , create a review

    (If you're not , sign out)

    Please enter the right captcha value
    Please enter a star rating.
    Your review must be a minimum of 12 words.

    How do you rate this item?


    Product details

    • Date Published: December 2020
    • format: Paperback
    • isbn: 9781108716826
    • length: 264 pages
    • dimensions: 244 x 170 x 15 mm
    • weight: 0.46kg
    • availability: In stock
  • Table of Contents

    1. Introduction
    2. Character strings
    3. Sequences
    4. Arrays
    5. Intervals
    6. Graphs
    7. Cycles in graphs
    8. Shortest paths
    9. Matching and flows
    10. Trees
    11. Sets
    12. Points and polygons
    13. Rectangles
    14. Numbers and matrices
    15. Exhaustive search
    16. Conclusion.

  • Authors

    Christoph Dürr, Sorbonne University
    Christoph Dürr is a senior researcher at the French National Center for Scientific Research (CNRS), affiliated with the Sorbonne University in Paris. After a PhD in 1996 at Paris-Sud University, he worked as for one year as a postdoc at the International Computer Science Institute in Berkeley and one year in the School of Computer Science and Engineering in the Hebrew University of Jerusalem in Israel. He has worked in the fields of quantum computation, discrete tomography, algorithmic game theory, and his current research activity focuses on algorithms and optimisation. From 2007 to 2014, he taught a preparation course for programming contests at the engineering school École Polytechnique, and acts regularly as a problem setter, trainer, or competitor for various coding competitions. In addition, he loves carrot cake.

    Jill-Jênn Vie, Inria
    Jill-Jênn Vie is a research scientist at Inria in machine learning. He is an alumni from ENS Paris-Saclay, where he founded the algorithmic club of Paris-Saclay (CAPS) and coached several teams for the International Collegiate Programming Contest (ICPC). He published another book in theoretical computer science to help students prepare for prestigious French competitive exams such as Grandes Écoles or agrégation, and directed a TV show “Blame the Algorithm” about the algorithms that govern our lives. He is part of the advisory board of the French Computer Science Society (SIF), itself a member of the International Federation for Information Processing (IFIP).


    Greg Gibbons

    Danièle Gibbons

Sorry, this resource is locked

Please register or sign in to request access. If you are having problems accessing these resources please email

Register Sign in
Please note that this file is password protected. You will be asked to input your password on the next screen.

» Proceed

You are now leaving the Cambridge University Press website. Your eBook purchase and download will be completed by our partner Please see the permission section of the catalogue page for details of the print & copy limits on our eBooks.

Continue ×

Continue ×

Continue ×
warning icon

Turn stock notifications on?

You must be signed in to your Cambridge account to turn product stock notifications on or off.

Sign in Create a Cambridge account arrow icon

Find content that relates to you

Join us online

This site uses cookies to improve your experience. Read more Close

Are you sure you want to delete your account?

This cannot be undone.


Thank you for your feedback which will help us improve our service.

If you requested a response, we will make sure to get back to you shortly.

Please fill in the required fields in your feedback submission.