In data science, algorithms and data structures make up the function and storage of data collecting. While coding and applied mathematical knowledge are helpful when learning these structures, there are actually plenty of books for complete beginners. Many of the books focus on a specific structure intended to facilitate learning, using working examples and code to support the theory behind the subject. Once you’ve got a grasp on data science basics, learning algorithms is a great next step.
This article will discuss a range of algorithm and structures books that can satisfy skill levels from beginner to intermediate, to advanced users.
1. “Introduction to Algorithms” by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein
Authors: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein
“Introduction to Algorithms” provides a comprehensive overview and guide to algorithms at large. It acts as an encyclopaedic reference for modern algorithms, extensively covering everything between theory and practice in over 1,000 pages.
The book is very practical, presenting problems with diagrams and proofs, implementing algorithms and analysing the theory behind the results. “Introduction” assumes a reasonable familiarity with math and data structures, but eager readers will have a lot to chew on.
Author: Thomas H. Cormen
Author Thomas Cormen’s “Algorithms Unlocked” seeks to take away the mystery of technology and unveils the secrets behind its inner workings. So many things we take for granted, like automated GPS routes or internet encryption, all use applied algorithms to operate.
The book explains how computers use algorithms to solve problems, creating many of the technology tasks we see in our everyday lives. It goes over the finer details of what exactly computer algorithms are and teaches readers how to use algorithms to perform simple tasks such as searching, sorting and graphing. It’s a resource for anyone interested in how algorithms function in a modern world.
Author: Steven S. Skiena
“The Algorithm Design Manual” is an introduction to creating algorithms on your own from scratch. It not only covers the theory behind algorithm design, but it also uses examples and real-world exercises to provide reference points. Skiena introduces “pseudo code”, meant to transition easily to the various different programming languages used in algorithms. The author covers a wide variety of modern algorithms like graph theory, computational geometry and multi-threaded algorithms.
The book is divided into two sections: Techniques and Resources. The first part, Techniques, instructs the reader on how to design and analyse algorithms. In Resources, the second part, the reader is presented with a large reference of resources with 75 of the most common algorithmic problems, as well as implementations in C/C++ and Java to come back to as needed.
4. “Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles” by Narasimha Karumanchi
Author: Narasimha Karumanchi
This book functions more as a guide for brushing up on areas you will be tested on, such as in interviews or exams or certificates, and it discusses common algorithm problems and their solutions. It covers the fundamentals of data structures and how algorithms work, as well as teaching readers how to write their own.
The material does require familiarity with mathematics and C/C++ code to complete the exercises. At over 400 pages and 20 chapters, this book is essentially a workbook for solving algorithmic problems.
5. “Grokking Algorithms: An illustrated guide for programmers and other curious people” by Aditya Bhargava
Author: Aditya Bhargava
This is an easy to follow book for programmers to learn a little more about algorithms and how to solve common problems you may face. The book covers some of the more common and practical algorithms like sorting and searching, working its way up to more difficult problems regarding data compression and artificial intelligence.
The illustrations accompanying the algorithms are great for visual learners and the walkthroughs explain each process step by step. Each example includes code samples in Python. It’s not meant for the absolute beginner, but it can act as a guide or refresher for those familiar with programming.
Authors: Robert Sedgewick and Kevin Wayne
A simple title for a not so simple book, “Algorithms” is incredibly succinct in its naming and belies the full depth of what it covers. The exhaustive textbook goes over algorithms and data structures in intimate detail, making it a comprehensive resource for academic settings. It even includes an online portal with full working source code.
The book covers various data types and how to sort and analyse them, and it highlights important algorithms useful for searching, sorting and processing. For working practice, a companion website contains exercises, test data, visualisations and the full Java code. Because the book is so academic-minded and used in college settings, it acts as a textbook resource for those entering the subject.
Author: Peter Brass
“Advanced Data Structures” highlights the importance of data structures in algorithms and optimising searches. It’s not for the faint of heart, as it’s a graduate-level text meant for advanced readers and data science practitioners, and it delves into the complexities of data storage within data analysis.
The book covers the different data structures and variants in detail, discussing stacks, queues, hash tables, search trees and more. It even includes more specialized structures like interval trees. The chapters include working code examples in C and references to support the work. This is a textbook for the intricacies of data storage, so expect a dense level of detail and comprehensiveness.
This is not really a reference or introductory manual like most books on algorithms. Instead, it’s a more historical look at how algorithms have become more and more prominent in our lives, eventually automating skilled tasks previously performed by hand.
Algorithms are now assisting in driving cars, augmenting entertainment media and predicting human behaviour. This book is more of a review and commentary to put the esoteries of algorithms into an accessible cultural context.
Disclaimer: Tableau does not officially endorse any products, or opinions therein, listed on this webpage and as such this page does not engage with any affiliate link programs. This article is intended purely for educational purposes and the above information about products and publications is made available so that readers can make informed decisions for themselves.