50 Algorithms Every Programmer Should Know: Tackle computer science challenges with classic to modern algorithms in machine learning, software design, data systems, and cryptography 50 Algorithms Every Programmer Should Know: Tackle computer science challenges with classic to modern algorithms in machine learning, software design, data systems, and cryptography Paperback Kindle
Best Sellers Rank: #61,730 in Books (See Top 100 in Books) #6 in Software Design Tools #23 in Natural Language Processing (Books) #34 in Python Programming
Customer Reviews: 4.3 out of 5 stars 67Reviews
Product Information
From the Publisher
What makes this book different from other books on algorithms for programmers?
While many algorithm books cover traditional and foundational topics, I’ve tried to keep this book modern by diving into state-of-the-art algorithms in areas like deep learning, Large Language Models (LLMs), and sequential models. I want to show that the world of algorithms, is not static, but always evolving, which I also think is a more comprehensive view of algorithms.
An important topic I’d want to bring up about this is bias and explainability. In today's world, where AI ethics is crucial, I’ve wanted this book to stand out in addressing the all-important topic of recognizing hidden biases in data and ensuring the transparency and explainability of algorithms.
(Image: Deep and wide LLM architecture models)
What this book covers
Neural networks and deep learning
Graph algorithms for fraud detection
Machine learning applications
Natural language processing
Large Language Models
Recommendation systems
Cryptography on cloud platforms
Parallel processing techniques
This second edition of 50 Algorithms Every Programmer Should Know not only has the updated versions of most algorithms from the first edition in line with current IT trends, but it also aims to help readers delve into advanced deep learning architectures and new chapters on sequential models like LSTMs, GRUs, RNNs, and LLMs.
Furthermore, through this edition, I've tried to shed light on contemporary topics such as addressing hidden data biases and demystifying algorithm explainability.
What approach does this book take to get readers started?
I've designed this book to strike a balance between helping readers select and use an algorithm to solve a real-world problem and explaining the logic behind it for a deeper understanding.
For example, it begins with an introduction to algorithms, allowing readers to understand the various algorithm design techniques. As readers progress, they explore more advanced concepts and are taught the practical application of these algorithms using real-world examples.
(Image: A fundamental algorithm design)
How has your career helped you write this book?
I’ve had a rich background in cloud computing, AI, and machine learning that I want to bring to the table with this book. I’ve had experience in high-profile projects with the Canadian Federal Government, taught at Google, and am a visiting professor at Carleton University. My experience in all of these different projects with their own focuses and challenges has taught me some insights that I’d like to share, whether it’s about the applicability of some algorithms, or maybe their ethics, or their future direction. I hope it also adds a unique perspective to what I’ve written.