Algorithmic Thinking: Learn Algorithms to Level Up Your Coding Skills, 2nd Edition
- 9h 1m
- Daniel Zingaro
- No Starch Press
- 2024
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
Dr. Daniel Zingaro is an award-winning Assistant 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, 2021) and co-author of Learn AI-Assisted Python Programming.
In this Book
-
Foreword
-
Introduction
-
Hash Tables
-
Trees and Recursion
-
Memoization and Dynamic Programming
-
Advanced Memoization and Dynamic Programming
-
Graphs and Breadth-First Search
-
Shortest Paths in Weighted Graphs
-
Binary Search
-
Heaps and Segment Trees
-
Union-Find
-
Randomization
-
Afterword