Here are 45 books that A Common-Sense Guide to Data Structures and Algorithms fans have personally recommended if you like
A Common-Sense Guide to Data Structures and Algorithms.
Book DNA is a community of 12,000+ authors and super readers sharing their favorite books with the world.
I love pulling back the curtain on how computers work. I want to go from thinking "that's magic" to "that's unbelievably clever but now I understand how it works." Each time I am able to do this feels like a hard-won but therefore meaningful step toward understanding. I want others to experience this empowering shift. I have a PhD in computer science education, and I want to know what helps people learn. More importantly, I want to know how we can use such discoveries to write more effective books. The books I appreciate most are those that demonstrate not only mastery of the subject matter but also mastery of teaching.
I’ve probably spent more time with this book than with any other technical book. It’s one of those books where you can get as much out of it as you like by revisiting the material at increasing levels of depth. I appreciate the conversational but rigorous tone, the solved examples, the false starts, the intuition that the authors build, and the applications of algorithm design to realistic problems. The Maximum Flow chapter is not to be missed.
Algorithm Design introduces algorithms by looking at the real-world problems that motivate them. The book teaches students a range of design and analysis techniques for problems that arise in computing applications. The text encourages an understanding of the algorithm design process and an appreciation of the role of algorithms in the broader field of computer science. August 6, 2009 Author, Jon Kleinberg, was recently cited in the New York Times for his statistical analysis research in the Internet age.
It is April 1st, 2038. Day 60 of China's blockade of the rebel island of Taiwan.
The US government has agreed to provide Taiwan with a weapons system so advanced that it can disrupt the balance of power in the region. But what pilot would be crazy enough to run…
I love pulling back the curtain on how computers work. I want to go from thinking "that's magic" to "that's unbelievably clever but now I understand how it works." Each time I am able to do this feels like a hard-won but therefore meaningful step toward understanding. I want others to experience this empowering shift. I have a PhD in computer science education, and I want to know what helps people learn. More importantly, I want to know how we can use such discoveries to write more effective books. The books I appreciate most are those that demonstrate not only mastery of the subject matter but also mastery of teaching.
How do we know whether an algorithm is correct? While intuition is helpful, for tricky algorithms nothing beats the formal proof. But I don’t want a proof for proof’s sake: I want it to deepen my understanding of the algorithm. The proofs in this book series are the best I’ve seen: they are self-contained, described step by step, and serve to sharpen your understanding of what the algorithm is really doing. Couple that fact with the self-check questions, exercises with solutions, and associated video lectures, and what we have here is a wonderful resource for the motivated algorithms learner.
Algorithms are the heart and soul of computer science. Their applications range from network routing and computational genomics to public-key cryptography and database system implementation. Studying algorithms can make you a better programmer, a clearer thinker, and a master of technical interviews. Algorithms Illuminated is an accessible introduction to the subject---a transcript of what an expert algorithms tutor would say over a series of one-on-one lessons. The exposition is rigorous but emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details. Part 1 of the book series covers asymptotic analysis and big-O notation, divide-and-conquer algorithms and the…
I love pulling back the curtain on how computers work. I want to go from thinking "that's magic" to "that's unbelievably clever but now I understand how it works." Each time I am able to do this feels like a hard-won but therefore meaningful step toward understanding. I want others to experience this empowering shift. I have a PhD in computer science education, and I want to know what helps people learn. More importantly, I want to know how we can use such discoveries to write more effective books. The books I appreciate most are those that demonstrate not only mastery of the subject matter but also mastery of teaching.
Many of my favourite algorithms books give short shrift to designing APIs for the algorithms and data structures that they present. The Sedgewick and Wayne book, by contrast, goes all in on an object-oriented API design. This is my book choice for Java programmers and those interested in larger program design considerations. Clear your calendar: each chapter here is massive, but I think the time investment is worth it. I especially like the chapter that shows how to tune classic algorithms for realizing speedups when working with strings.
This fourth edition of Robert Sedgewick and Kevin Wayne's Algorithms is the leading textbook on algorithms today and is widely used in colleges and universities worldwide. This book surveys the most important computer algorithms currently in use and provides a full treatment of data structures and algorithms for sorting, searching, graph processing, and string processing--including fifty algorithms every programmer should know. In this edition, new Java implementations are written in an accessible modular programming style, where all of the code is exposed to the reader and ready to use.
The algorithms in this book represent a body of knowledge developed…
A Duke with rigid opinions, a Lady whose beliefs conflict with his, a long disputed parcel of land, a conniving neighbour, a desperate collaboration, a failure of trust, a love found despite it all.
Alexander Cavendish, Duke of Ravensworth, returned from war to find that his father and brother had…
I love pulling back the curtain on how computers work. I want to go from thinking "that's magic" to "that's unbelievably clever but now I understand how it works." Each time I am able to do this feels like a hard-won but therefore meaningful step toward understanding. I want others to experience this empowering shift. I have a PhD in computer science education, and I want to know what helps people learn. More importantly, I want to know how we can use such discoveries to write more effective books. The books I appreciate most are those that demonstrate not only mastery of the subject matter but also mastery of teaching.
This is the book that started it all for me… and I think it holds up just fine today. I see value in confronting the old Pascal code every so often: it’s a reminder of how little we need in order to make our algorithms fast, and how much is happening behind the scenes by our modern programming languages. To this day this book has some of my favourite presentations of Dijkstra’s Algorithm and sorting.
The authors' treatment of data structures in Data Structures and Algorithms is unified by an informal notion of "abstract data types," allowing readers to compare different implementations of the same concept. Algorithm design techniques are also stressed and basic algorithm analysis is covered. Most of the programs are written in Pascal.
I’ve spent most of my life writing code—and too much of that life teaching new programmers how to write code like a professional. If it’s true that you only truly understand something after teaching it to someone else, then at this point I must really understand programming! Unfortunately, that understanding has not led to an endless stream of bug-free code, but it has led to some informed opinions on programming and books about programming.
Yes, it’s a textbook, albeit a particularly well-written one. You may already have it on your shelf, if you’ve taken a programming class or two.
I’m way too old to have used CLRS as a textbook, though! For me, it’s an effectively bottomless collection of neat little ideas—an easy-to-describe problem, then a series of increasingly clever ways to solve that problem. How often do I end up using one of those algorithms? Not very often! But every time I read the description of an algorithm, I get a nugget of pure joy from the “aha” moment when I first understand how it works.
My life has been about programming for as long as I can remember. Learning to code was a way to connect with my dad and express my creativity at a young age. Since I grew up with code, it became the way I understood the world; often I could look at a process or program and immediately see its source code in my mind. I developed a very strong sense of aesthetics searching for “perfect code,” which for me was code that was not only error-free but resistant to errors. My studies, research, and career is about moving myself and all programmers closer to that goal: Software that never fails.
The building blocks of software are algorithms, so here our journey continues after you have established a deep understanding of programming languages.
Modern software is predominantly distributed, and since this book doesn't assume much it is the perfect introduction to algorithm analysis, concurrency, and distributed systems. And the best part is that you can just jump in and build these algorithms yourself.
The new edition of a guide to distributed algorithms that emphasizes examples and exercises rather than the intricacies of mathematical models.
This book offers students and researchers a guide to distributed algorithms that emphasizes examples and exercises rather than the intricacies of mathematical models. It avoids mathematical argumentation, often a stumbling block for students, teaching algorithmic thought rather than proofs and logic. This approach allows the student to learn a large number of algorithms within a relatively short span of time. Algorithms are explained through brief, informal descriptions, illuminating examples, and practical exercises. The examples and exercises allow readers to…
The Duke's Christmas Redemption
by
Arietta Richmond,
A Duke who has rejected love, a Lady who dreams of a love match, an arranged marriage, a house full of secrets, a most unneighborly neighbor, a plot to destroy reputations, an unexpected love that redeems it all.
Lady Charlotte Wyndham, given in an arranged marriage to a man she…
Once upon a time, I was a computer science researcher, working in the research labs of companies like Microsoft and Hewlett-Packard. Later I started teaching computer science to college students and writing books about algorithms. I love computers and I love algorithms. Most of all, I love explaining algorithms to other people. In fact, one of my most important missions in life is to advance the public understanding of computer science and algorithms. So if you read any of the books on my list, you’ll bring me one step closer to achieving my mission. Go ahead, read one now!
The most important unanswered question in computer science has a huge public relations problem. Back in the 1970s, this question became known as “P=NP?”—and who could write an exciting book about that? Luckily for us, Lance Fortnow can. As one of the world’s foremost experts on P-vs-NP, he takes us on a wild and truly accessible ride through the most important question about computing. I’ve seen many attempts at making “P=NP?” accessible/understandable/intriguing for non-experts. But Fortnow nails it like nobody else, reformulating P-vs-NP as a search for one of the golden tickets in Charlie and the Chocolate Factory. (Which is another one of my favorite books, even though it’s not going to make it onto this list about algorithms.)
The P-NP problem is the most important open problem in computer science, if not all of mathematics. Simply stated, it asks whether every problem whose solution can be quickly checked by computer can also be quickly solved by computer. The Golden Ticket provides a nontechnical introduction to P-NP, its rich history, and its algorithmic implications for everything we do with computers and beyond. Lance Fortnow traces the history and development of P-NP, giving examples from a variety of disciplines, including economics, physics, and biology. He explores problems that capture the full difficulty of the P-NP dilemma, from discovering the shortest…
Tim Harford is the author of nine books, including The Undercover Economist and The Data Detective, and the host of the Cautionary Tales podcast. He presents the BBC Radio programs More or Less, Fifty Things That Made The Modern Economy, and How To Vaccinate The World. Tim is a senior columnist for the Financial Times, a member of Nuffield College, Oxford, and the only journalist to have been made an honorary fellow of the Royal Statistical Society.
This is a clever and highly readable guide to the brave new world of algorithms: what they are, how they work, and their strengths and weaknesses. It’s packed with stories and vivid examples, but Dr Fry is a serious mathematician and when it comes to the crunch she is well able to show it with clear and rigorous analysis.
When it comes to artificial intelligence, we either hear of a paradise on earth or of our imminent extinction. It's time we stand face-to-digital-face with the true powers and limitations of the algorithms that already automate important decisions in healthcare, transportation, crime, and commerce. Hello World is indispensable preparation for the moral quandaries of a world run by code, and with the unfailingly entertaining Hannah Fry as our guide, we'll be discussing these issues long after the last page is turned.
I am a Research Assistant Professor of Computer Science at Stony Brook University learning/teaching/researching mathematics/algorithms/puzzles. In these fields, I have published a book, published 15+ papers in conferences/journals, been granted a US patent, won two Outstanding Paper Awards, taught 10+ courses in 25+ offerings, and have supervised 90+ master's/bachelor students. I am a puzzle addict involved in this field for 25 years and puzzles are my religion/God. Puzzles are the main form of supreme energy in this universe that can consistently give me infinite peace.
Anany Levitin introduced me to algorithmics – my second love (my first love is mathematics), through his legendary algorithmics textbook. He was one of my superheroes in my young adult life and he got me addicted to algorithms. His book is my favorite because it is beautifully organized based on design techniques, well-written, and uses nice puzzles to teach algorithms.
Levitin went much deeper and wrote this book on algorithmic puzzles. This book is the first mainstream book in the puzzle literature that taught beautiful algorithmic puzzles via various algorithm technique techniques. Levitin claimed several mathematical puzzles as algorithmic focusing on aspects of the solutions that are automatable.
Elegant puzzles (with extensive references) in this book that I have enjoyed include missionaries and cannibals, bridge crossing, circle of lights, MU puzzle, turning on a light bulb, chameleons, poisoned wine, game of life, twelve coins, fifteen puzzle, hats with numbers, and…
Algorithmic puzzles are puzzles involving well-defined procedures for solving problems. This book will provide an enjoyable and accessible introduction to algorithmic puzzles that will develop the reader's algorithmic thinking.
The first part of this book is a tutorial on algorithm design strategies and analysis techniques. Algorithm design strategies - exhaustive search, backtracking, divide-and-conquer and a few others - are general approaches to designing step-by-step instructions for solving problems. Analysis techniques are methods for investigating such procedures to answer questions about the ultimate result of the procedure or how many steps are executed before the procedure stops. The discussion is an…
This book follows the journey of a writer in search of wisdom as he narrates encounters with 12 distinguished American men over 80, including Paul Volcker, the former head of the Federal Reserve, and Denton Cooley, the world’s most famous heart surgeon.
In these and other intimate conversations, the book…
I started programming in high school and wrote software in many domains for 30 years, from the early ARPA-net to massive credit card software. I wrote a FORTRAN compiler with one assistant in a year. I got hassled to do proper project management. Nightmare. It was all about inflated expectations instead of moving fast and winning. Then in 25 years of venture capital investing, I learned from many young companies how the little startups built quickly and well things that giants like Google literally could not get done. This book and my others spell out what I learned from the little guys who beat the giants.
This is the definitive book series on algorithms and the core of computer programming.
Unlike most such books, Knuth is a real programmer, deep into the details of the craft, to the point of creating his own assembler language and typesetting generation system. It’s partly the substance of the algorithms and their analysis, but even more is the way he models a way of thinking about and solving complexity that makes this a must-read series.
Finally, after a wait of more than thirty-five years, the first part of Volume 4 is at last ready for publication. Check out the boxed set that brings together Volumes 1 - 4A in one elegant case, and offers the purchaser a $50 discount off the price of buying the four volumes individually.
The Art of Computer Programming, Volumes 1-4A Boxed Set, 3/e