Skip to main content Skip to search Skip to search

Computers Algorithms

Algorithmic Thinking, 2nd Edition

Learn Algorithms to Level Up Your Coding Skills

by (author) Daniel Zingaro

Publisher
No Starch Press
Initial publish date
Jan 2024
Category
Algorithms, Open Source, C
  • Paperback / softback

    ISBN
    9781718503229
    Publish Date
    Jan 2024
    List Price
    $65.99

Add it to your shelf

Where to buy it

Description

Get in the game and learn essential computer algorithms by solving competitive programming problems, in the fully revised second edition of the bestselling original. (Still no math required!)

Are you hitting a wall with data structures and algorithms? Whether you’re a student prepping for coding interviews or an independent learner, this book is your essential guide to efficient problem-solving in programming.

UNLOCK THE POWER OF DATA STRUCTURES & ALGORITHMS:
Learn the intricacies of hash tables, recursion, dynamic programming, trees, graphs, and heaps. Become proficient in choosing and implementing the best solutions for any coding challenge.

REAL-WORLD, COMPETITION-PROVEN CODE EXAMPLES:
The programs and challenges in this book aren’t just theoretical—they’re drawn from real programming competitions. Train with problems that have tested and honed the skills of coders around the world.

GET INTERVIEW-READY:
Prepare yourself for coding interviews with practice exercises that help you think algorithmically, weigh different solutions, and implement the best choices efficiently.

WRITTEN IN C, USEFUL ACROSS LANGUAGES:
The code examples are written in C and designed for clarity and accessibility to those familiar with languages like C++, Java, or Python. If you need help with the C code, no problem: We’ve got recommended reading, too.

Algorithmic Thinking is the complete package, providing the solid foundation you need to elevate your coding skills to the next level.

About the author

Contributor Notes

Dr. Daniel Zingaro is an award-winning associate professor of mathematical and computational sciences at the University of Toronto Mississauga. He is well known for his uniquely interactive approach to teaching and internationally recognized for his expertise in active learning. He is also the author of Learn to Code by Solving Problems (No Starch Press) and co-author of Learn AI-Assisted Python Programming.

Editorial Reviews

"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

Other titles by