Algorithm was perhaps the most dreaded subject among the computer science engineering students in my college. The look in their eyes after every exam or test on Algorithm would reveal it all. The fear and the hesitation to deal with the subject were massive. In fact, such was the terror for this subject that students of other engineering disciplines were relieved that it was not in their syllabi. Here is a look at the top 10 books which could perhaps help in fighting this apprehension and panic and most importantly help you in learning algorithm.
10. Data Mining: Concepts and Techniques:
‘Data Mining: Concepts and Techniques’ is a book by Jiawei Han and Micheline Kamber. The book has been reviewed by many as one of the best books for Algorithms. The book begins with a conceptual introduction and then moves along by providing good algorithm descriptions. It also covers varied topics with good detail and also offers dozens of algorithms that make understanding easier. It is easy to read with many illustrating diagrams.
9. Algorithms in C++:
‘Algorithms in C++’ is a book by Robert Sedgewick. The book covers a wide range of topics and is written in a way that is intelligible to the user. It is in fact a comprehensive illustration of algorithms with every edition attempting to cover more topics in better manner. It has been well received by many though a few also prefer the older editions to the new.
8. Data Mining for Association Rules and Sequential Patterns:
‘Data Mining for Association Rules and Sequential Patterns’ is a book by Jean-Marc Adamo. It is not for beginners for it is comprehensive and has topics, each of which could be subject for PhD. Those desiring to extend the horizons in Algorithms and specializing in the subject can very well refer to this book. It covers a lot of topics that wouldn’t normally be present in the others.
7. Algorithms in a Nutshell:
‘Algorithms in a Nutshell’ is a book by George T. Heineman, Gary Pollice and Stanley Selkow. This book attempts to teach its readers how to optimize to improve the performance of algorithms. It is also reflective on how design decisions have different impacts on algorithms. With algorithmic solutions in C, C++, Java, and Ruby with implementation tips, this is a good book which stays focused throughout on the subject. It is an easy to read book and covers complex topics in a manner which is easy to grasp.
6. Algorithm Design:
‘Algorithm Design’ is a book by Jon Kleinberg and Eva Tardo. The book covers a lot of topics for beginners and also for students who have had the introduction to the subject. A book which is not too hard for the readers to comprehend, ‘Algorithm Design’, is a favourite among computer engineering students.
5. Algorithm Design Manual:
‘Algorithm Design Manual’ is a book by Steven Skiena. It is a remarkable book which describes questions and explains on how to derive the solution. With real world examples it also helps to optimize existing solutions. It has also been termed as more readable as compared to the other books available in the market on the same subject. The book also has a free version online for students to refer. It is also a favourite among students.
4. The (New) Turing Omnibus: 66 Excursions in Computer Science:
‘The (New) Turing Omnibus: 66 Excursions in Computer Science’ is a book on algorithms by A.K. Dewdney. It covers the most interesting and important algorithms in a manner that the student is motivated to read and learn more. Problems and solutions that any computer science student should be acquainted with are covered extensively in this wonderful book.
‘Algorithms’ is a book by Dasgupta, Papadimitriou and Vazirani. The book developed from the notes of the authors while they were teaching undergraduate algorithms course at Berkeley and U.C. San Diego and that is the very reason why the book is palatable for the targeted audience. The book is known for its mathematical rigor and interesting subjects.
2. Computational Geometry and Computer Graphics in C++:
‘Computational Geometry and Computer Graphics in C++’ is written by Michael J. Laszlo. The book covers the area left by Knuth – computational geometry. Just as any good book, this, too, is easy to understand and covers the topics in a manner which is intelligible and well explained. The author does a good job in conveying each topic with ample examples and solutions.
1. The Art of Computer Programming: Volumes 1-3:
‘The Art of Computer Programming: Volumes 1-3’ is written by Donald E. Knuth. A person working or studying in the field of Computer Engineering or Technology most probably is well acquainted by this book. It is like the encyclopaedia for algorithms. The answer to every probable question or doubt is there within the pages of this book. This book is about perfection as visible in the content and the manner in which it is written easily explains the popularity of this book.