Loading...

Top 5 Data Structure and Algorithm Books - Must Read, Best of Lot

Data Structure and Algorithms books are often taught as text books in various universities, colleges and Computer Science degree courses, yet, when you put programmers in a situation, where they need to find and decide, which data structures and algorithms to use to solve a problem, they struggle. I have seen this, and I think one reason of this is perspective. When you read something as text book and your perspective is just to do well in exam, you might not be thinking about learning and applying that knowledge in real world problems. Since data structures and algorithms are core of any programming problem, it becomes extremely important for programmers to master them even if you have learned well during academics. In this article, I am sharing five of my favorite books on data structures and algorithms, which I think are great read and can help every programmer to master data structure and algorithms. I have chosen these books because of different reasons. Some books are really easy to read and there focus is aligned to my expectation, some of them are really comprehensive and can be used as reference material, and few of them offers different perspective of using data structures and algorithms e.g. while solving a real world problem or helping to crack interviews at Google, Amazon, Microsoft or Facebook. It's hard to judge your knowledge of data structure and algorithms by knowledge based questions, because that's not how they are used in project. It doesn't help to know about every single detail of a Car, if you can't even drive. This data structure and algorithms books has helped me to find and fill in gaps and taught me a lot of things about different data structures e.g. stacks, queues, linked list, arrays, hash tables, heaps, trees and graph. If you are using a different data structure and algorithm book, which is good and not in this list, you can share with us.



Top 5 Data Structure and Algorithm Books

Here is my list of some of the good books to learn data structure and algorithm. Since both data structure and algorithm are both language independent, but I suggest you to pick a book which has example in your preferred language e.g. C, C++, Java or Python.  You should also try to implement and use those data structure by your own e.g. writing your NAry tree to hold hierarchical data, writing your own hash table even though you have HashMap in Java. Ok, now let's see my favorite algorithm and data structure books :


Algorithms are complex and hard to understand, even for a computer science gradate. Any book, which makes a readable attempt of algorithm, by associating with real worth things, does a huge favor to it's reader. Algorithm Unlocked is one of such book, which present some of the widely known computer algorithms in field of finding shortest path, searching and sorting algorithms, String related algorithms, cryptography and data compression algorithms and some interesting problems. This book is one of the most engaging and readable book on topic of algorithms and worth of every penny spent on it. Only thing, I found this book lacks is that it only covers Algorithms and not data structures, as it can not be used as reference book. It's best use is as a companion, along with a much more comprehensive book on data structures and algorithms.

Must read Data Structure and Algorithm Books




This is another data structure and algorithm book, which scores good on readability and practical usefulness. I particularly like its clean, clear and concise explanation; followed by real world use case and then lots of problem to master a particular data structure or algorithm. Only thing, which is not per my convenience was its examples, which are written in C programming language. If you can easily manage that then its a very good book to learn data structure. In fact this encouraged me to write my own implementation in Java, while going through it, which certainly helps in long run. Remember, getting an objective feel of what is data structure, how does it work is quite different than implementing same data structure by yourself, and than trying different things e.g. finding cycles in linked list or finding middle node of linked list in single pass, is a good exercise after you implemented linked list data structure in Java. Combing back to book, you can certainly buy this book on readability, clear and concise explanation and more importantly non trivial examples. One of the best book to learn data structure and algorithms for beginners.

Good books to learn data structure and algorithm in Java




This is another conventional book on Algorithms and Data structures. Two things, which I liked about this books are, examples are given in my favorite Java programming language and you can use this book as reference for learning data structures like stack, queue, linked list, tree or graph. Good thing about this book is that if not only focuses on data structures and algorithms but also on Java, which makes it an ideal choice for Java programmers. Though it doesn't cover a lot of algorithms, it did cover algorithms related to directed and cyclic graphs, minimum spanning trees and comes up with lot of exercises for practice. Not the best, but a good book to learn algorithm and data structure in Java.

best book to learn data structure in Java




This is one of the best book on Computer Algorithms, it's written by four author, one of them is Thomas H. Cormen, whose another book Unlocked Algorithm is also most recommended book to learn algorithms. This book is lot more comprehensive and cover lots of different algorithm and advanced problem solving technique e.g. greedy algorithms, dynamic programming, Amortized Analysis, along with elementary data structures like Stacks and Queues, Array and linked list, Hash tables, Tree and Graph. This book is unique combination of completeness and rigorous. Another good thing about this book is that algorithms are explains in English, and in pseudo code, which can be understood by even programmers, who has just started programming. It's equally useful to all kinds of programmers e.g. senior, experience and freshers and in all kind of programming language e.g. Java, C or C++. One of the must read book on Algorithms for software programmers and developers.

best book to learn algorithm




Algorithms for Interviews is quite different than previous books on data structures and algorithms. It offers a different perspective of designing and using algorithms by applying them on different interview questions. If you are preparing for software engineer interviews at Google, Microsoft, Amazon or Facebook, you can expect a lot of questions from data structure and algorithms, and this books helps a lot. I liked this book, because I learned a lot of things, which I haven't learned by following conventional books on data structures and algorithms. It's not a text book, neither a comprehensive guide of algorithms, but it's worth reading to improve your understanding of algorithm and problem solving skills. It definitely deserve a place in bookshelf of a programmer, who like to learn from other's experience.

Must read book to learn data structure and algorithm



That's all on my list of must read books data structures and algorithms. This list is equally useful to both Java and C, C++ programmers, or better any programmer, because it's a common programming concepts and used in all kind of projects, written on different programming languages. At least one book on data structures and algorithms, must always be on a programmers self, along with some timeless classic like Clean Code and Effective Java.

6 comments :

Jan Andersen said...

Or you could read the original.

https://en.wikipedia.org/wiki/Algorithms_%2B_Data_Structures_%3D_Programs

Javin Paul said...

@Jan, definitely a nice book but I found it slightly difficult to read, mainly due to examples given in PASCAL.

KetanDikshit said...

What about Robert Sedgewicks: Algorithms (java version); http://algs4.cs.princeton.edu/home/
One of my favorites( but for intermediate leve , I guess)

Anonymous said...

Robert Sedgewicks: Algorithms is indeed a great book and its also free to read online. I have read it couple of times and it's even used in coursera's algorithm course, which is also free.

hardik mehta said...

Plz suggest books for android

Javin Paul said...

@hardik, sure I will suggest some book for Android soon. Thanks

Post a Comment