Algorithmic Thinking

A Problem-Based Introduction

Daniel Zingaro author

Format:Paperback

Publisher:No Starch Press,US

Published:15th Dec '20

£47.99

Available to order, but very limited on stock - if we have issues obtaining a copy, we will let you know.

Algorithmic Thinking cover

A hands-on, problem-based introduction to building algorithms and data structures to solve problems with a computer.

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.

“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

ISBN: 9781718500808

Dimensions: unknown

Weight: unknown

408 pages