Description

Book Synopsis
Readers tackle challenging topics like recursion, dynamic programming, graphs, greedy algorithms, heaps, hash tables, segment trees, and other data structures for efficiently handling data. The book contains no pseudocode: all code is written in C and is thoroughly explained in the text (C is a de facto programming language for programming competitions). Zingaro also shows how several problems can be reduced to algorithms on graphs.

Trade Review
“A good choice for anyone who needs to understand and implement algorithms.”
—RedGreenCode

“With Zingaro as a tutor by your side, you'll learn, through practice on challenging competition problems, a repeatable process for figuring out and deftly applying the most appropriate algorithmic tools for the job. You'll learn it all from a book that exudes clarity, humor, and just the right dose of Canadian pride. Happy problem-solving!”
Dr. Tim Roughgarden, Professor of Computer Science at Columbia University

"A clear and engaging text . . . By presenting problems first and their algorithm/data structure solutions later, it shows us exactly why those solutions are useful and how they fit into the big picture. . . . Far too many textbooks present solutions fully-formed with no mention of the dead ends and too-complicated solutions you’d hit along the way. But Algorithmic Thinking takes you from the initial idea to the final breakthrough, setbacks and all. Problem solving is a raw, real journey, and this book captures its spirit perfectly. I highly recommend it."
—Ava Pun, medal winner in the International Olympiad in Informatics Programming Competition

"The strength of the book is that the process of discovering and improving algorithms is described in detail and various different approaches are analyzed. Compared to traditional textbooks, there are also interesting topics that are not usually covered . . . Overall, the book is clearly written, the topics are well-chosen, and the book is a good introduction to some important competitive programming techniques."
—Antti Laaksonen, Olympiads in Informatics

Table of Contents
Foreword
Introduction
Chapter 1:
Hash Tables
Chapter 2: Trees and Recursion
Chapter 3: Memoization and Dynamic Programming
Chapter 4: Graphs and Breadth-First Search
Chapter 5: Shortest Paths in Weighted Graphs
Chapter 6: Binary Search
Chapter 7: Heaps and Segment Trees
Chapter 8: Union-Find
Chapter 9: Afterword
Appendix A: Algorithm Runtime
Appendix B: Because I Can’t Resist
Appendix C: Problem Credits
Index

Algorithmic Thinking: A Problem-Based

    Product form

    £38.39

    Includes FREE delivery

    RRP £47.99 – you save £9.60 (20%)

    Order before 4pm tomorrow for delivery by Wed 29 Jul 2026.

    A Paperback / softback by Daniel Zingaro

    Out of stock

      Trusted by thousands of customers. See 2,385+ Customer Reviews

      View other formats and editions of Algorithmic Thinking: A Problem-Based by Daniel Zingaro

      Publisher: No Starch Press,US
      Publication Date: Publication Date: 15/12/2020
      ISBN13: 9781718500808, 978-1718500808
      ISBN10: 1718500807

      Description

      Book Synopsis
      Readers tackle challenging topics like recursion, dynamic programming, graphs, greedy algorithms, heaps, hash tables, segment trees, and other data structures for efficiently handling data. The book contains no pseudocode: all code is written in C and is thoroughly explained in the text (C is a de facto programming language for programming competitions). Zingaro also shows how several problems can be reduced to algorithms on graphs.

      Trade Review
      “A good choice for anyone who needs to understand and implement algorithms.”
      —RedGreenCode

      “With Zingaro as a tutor by your side, you'll learn, through practice on challenging competition problems, a repeatable process for figuring out and deftly applying the most appropriate algorithmic tools for the job. You'll learn it all from a book that exudes clarity, humor, and just the right dose of Canadian pride. Happy problem-solving!”
      Dr. Tim Roughgarden, Professor of Computer Science at Columbia University

      "A clear and engaging text . . . By presenting problems first and their algorithm/data structure solutions later, it shows us exactly why those solutions are useful and how they fit into the big picture. . . . Far too many textbooks present solutions fully-formed with no mention of the dead ends and too-complicated solutions you’d hit along the way. But Algorithmic Thinking takes you from the initial idea to the final breakthrough, setbacks and all. Problem solving is a raw, real journey, and this book captures its spirit perfectly. I highly recommend it."
      —Ava Pun, medal winner in the International Olympiad in Informatics Programming Competition

      "The strength of the book is that the process of discovering and improving algorithms is described in detail and various different approaches are analyzed. Compared to traditional textbooks, there are also interesting topics that are not usually covered . . . Overall, the book is clearly written, the topics are well-chosen, and the book is a good introduction to some important competitive programming techniques."
      —Antti Laaksonen, Olympiads in Informatics

      Table of Contents
      Foreword
      Introduction
      Chapter 1:
      Hash Tables
      Chapter 2: Trees and Recursion
      Chapter 3: Memoization and Dynamic Programming
      Chapter 4: Graphs and Breadth-First Search
      Chapter 5: Shortest Paths in Weighted Graphs
      Chapter 6: Binary Search
      Chapter 7: Heaps and Segment Trees
      Chapter 8: Union-Find
      Chapter 9: Afterword
      Appendix A: Algorithm Runtime
      Appendix B: Because I Can’t Resist
      Appendix C: Problem Credits
      Index

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account