Description

Book Synopsis
Knowing how to design algorithms will take you from being a good programmer to a great programmer. This completely revised second edition teaches you how to design your own rocket-fast, right-for-the-task algorithms-minus the proofs and complex math. Forget the useless pseudocode and played-out examples you've seen in other books. Author and award-winning educator Dan Zingaro draws problems straight from online programming competitions to rigorously teach you all of the heavyweights you need to know, like hash tables, recursion, trees, graphs, and heaps. As he guides you to the perfect algorithmic solution for each unique programming puzzle, you'll build up a toolkit of go-to algorithms for quickly and correctly solving any problem you come across. The second edition features several entirely new chapters on dynamic programming and randomized algorithms, as well as more effective problems and enhanced explanations. Code examples are provided using the C language. Learn how to: Classif

Trade Review
"Algorithmic Thinking provides the theoretical background and detailed problem explanations required to stay ahead of our human and robotic competitors."
—Duncan Smith, Senior Software Engineer at Microsoft

"In this newly revised edition, Daniel presents a carefully curated collection of challenging programming problems. By deconstructing the problems alongside clear, practical presentations of algorithms and data structures, Algorithmic Thinking will empower you–whether you're looking to get a leg up on technical interviews, enter the world of competitive programming, or just want to sharpen your skills."
—Josh Lospinoso, Ph.D., author of C++ Crash Course

"As someone who learnt algorithms from similar problems-oriented books in the early 00s, I believe an updated yet beginner-friendly exposition is long overdue. This book provides implementation-friendly introductions to most building blocks of combinatorial algorithms . . . It's by far the quickest way to get hands-on experience with algorithms, and is also a great supplement to more theoretical expositions."
—Richard Peng, Associate Professor at the University of Waterloo’s Cheriton School of Computer Science

"Not only does Algorithmic Thinking guide readers on how to approach tackling problems, but Zingaro also helps them understand why these approaches work. With an engaging selection of problems drawn from programming competitions, the book is an excellent guide and an engaging companion for the readers on their learning journey."
—Sushant Sachdeva, Ph.D., Algorithms Professor at the University of Toronto

"The step-by-step solution explanations are so detailed that it feels like Daniel is directly teaching us, his readers. This Second Edition is a worthy update to an already excellent text. I particularly like the new chapter on the rarely discussed randomized algorithms. I believe Computer Science students will enjoy reading it as I do."
—Dr Steven Halim, Senior Lecturer at National University of Singapore

"The book discusses many interesting problems from programming contests and presents useful techniques that are not often included in algorithm textbooks."
—Antti Laaksonen, University of Helsinki

"Now a fully updated and expanded second edition, Daniel Zingaro's Algorithmic Thinking: Unlock Your Programming Potential from No Starch Press is an ideal, comprehensive, and thoroughly 'user friendly' instructional resource for C Programming Language students and software development professionals alike."
—Midwest Book Review

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

Algorithmic Thinking, 2nd Edition: A

Product form

£35.99

Includes FREE delivery

RRP £47.99 – you save £12.00 (25%)

Order before 4pm today for delivery by Fri 16 Jan 2026.

A Paperback / softback by Daniel Zingaro

2 in stock


    View other formats and editions of Algorithmic Thinking, 2nd Edition: A by Daniel Zingaro

    Publisher: No Starch Press,US
    Publication Date: 23/01/2024
    ISBN13: 9781718503229, 978-1718503229
    ISBN10: 1718503229

    Description

    Book Synopsis
    Knowing how to design algorithms will take you from being a good programmer to a great programmer. This completely revised second edition teaches you how to design your own rocket-fast, right-for-the-task algorithms-minus the proofs and complex math. Forget the useless pseudocode and played-out examples you've seen in other books. Author and award-winning educator Dan Zingaro draws problems straight from online programming competitions to rigorously teach you all of the heavyweights you need to know, like hash tables, recursion, trees, graphs, and heaps. As he guides you to the perfect algorithmic solution for each unique programming puzzle, you'll build up a toolkit of go-to algorithms for quickly and correctly solving any problem you come across. The second edition features several entirely new chapters on dynamic programming and randomized algorithms, as well as more effective problems and enhanced explanations. Code examples are provided using the C language. Learn how to: Classif

    Trade Review
    "Algorithmic Thinking provides the theoretical background and detailed problem explanations required to stay ahead of our human and robotic competitors."
    —Duncan Smith, Senior Software Engineer at Microsoft

    "In this newly revised edition, Daniel presents a carefully curated collection of challenging programming problems. By deconstructing the problems alongside clear, practical presentations of algorithms and data structures, Algorithmic Thinking will empower you–whether you're looking to get a leg up on technical interviews, enter the world of competitive programming, or just want to sharpen your skills."
    —Josh Lospinoso, Ph.D., author of C++ Crash Course

    "As someone who learnt algorithms from similar problems-oriented books in the early 00s, I believe an updated yet beginner-friendly exposition is long overdue. This book provides implementation-friendly introductions to most building blocks of combinatorial algorithms . . . It's by far the quickest way to get hands-on experience with algorithms, and is also a great supplement to more theoretical expositions."
    —Richard Peng, Associate Professor at the University of Waterloo’s Cheriton School of Computer Science

    "Not only does Algorithmic Thinking guide readers on how to approach tackling problems, but Zingaro also helps them understand why these approaches work. With an engaging selection of problems drawn from programming competitions, the book is an excellent guide and an engaging companion for the readers on their learning journey."
    —Sushant Sachdeva, Ph.D., Algorithms Professor at the University of Toronto

    "The step-by-step solution explanations are so detailed that it feels like Daniel is directly teaching us, his readers. This Second Edition is a worthy update to an already excellent text. I particularly like the new chapter on the rarely discussed randomized algorithms. I believe Computer Science students will enjoy reading it as I do."
    —Dr Steven Halim, Senior Lecturer at National University of Singapore

    "The book discusses many interesting problems from programming contests and presents useful techniques that are not often included in algorithm textbooks."
    —Antti Laaksonen, University of Helsinki

    "Now a fully updated and expanded second edition, Daniel Zingaro's Algorithmic Thinking: Unlock Your Programming Potential from No Starch Press is an ideal, comprehensive, and thoroughly 'user friendly' instructional resource for C Programming Language students and software development professionals alike."
    —Midwest Book Review

    Table of Contents
    Foreword
    Introduction
    Acknowledgments
    Chapter 1: Hash Tables
    Chapter 2: Trees and Recursion
    Chapter 3: Memoization and Dynamic Programming
    Chapter 4: Advanced Memoization and Dynamic Programming
    Chapter 5: Graphs and Breadth-First Search
    Chapter 6: Shortest Paths in Weighted Graphs
    Chapter 7: Binary Search
    Chapter 8: Heaps and Segment Trees
    Chapter 9: Union-Find
    Chapter 10: Randomization
    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