21, November 2010

We usually study
algorithms and data structures during academic course. However, constant
improvement on algorithms and data structures skills is required for every
developer. It is a day to day activity. A strong foundation on algorithms/data
structures can be achieved by reading different algorithm books and solving
exercises. My favorite books on Algorithms, Data Structures are given below,

My first book on learning algorithms. Very nice explanation of
many algorithms and dividing chapters based on design strategy is
unique feature of the book. Many of the exercises deal with programming puzzles
and algorithms. Fun to read such a book, one must attempt all exercise
problems. Write the algorithm on peace of paper after you read
and visualize each algorithm when read.

My best reference on
algorithms. A standard book used across many universities in the world. It
takes atleast an year (few hours per week) to practice complete book along
in-sync with the supplementary material on their website. Special for data
structures. A nice book, write the algorithm or data structure on black board
after you understood. One should attempt all problems.

A short and precise book
on collection of algorithms. First few chapters will help in understanding the
basics well. Later chapters are based on graph modeling and their algorithms.
The book emphasize on graphs, dynamic programming, greedy strategy, and few
more topics very well. Entire book is freely available online. For
details click here.
Attempt all exercise problems.

A good collection of
algorithmic problems on various categories. Other book by Skiena is Programming
Challenges. A must work book for all computer/computing geeks. Contains many
pointers to useful resources on the CD as well as on repository site.
Selectively read topics, once you have understood various concepts of algorithm
design and data structures.

Another standard reference
and lucid material on many algorithms. Selective reading helped me in getting
best results from the book. Their exclusive book on Algorithms (4e) is
upcoming.

6.
Algorithms 4e by Sedgewick
and Kevin.

Released early 2012. I
have read the book, and it left excellent contentment in solving various
algorithmic problems. The exercise problems on their website are interesting. Try them.

For above six references,
it is strongly recommended to attempt the exercise problems. Just reading will
be useless.

If you feel you understood
algorithms usage well, it is the book to read. A must for every programmer and
computer science geek.

8.
Data Structures and Algorithms in C++ by Mark Alen Weiss

Another best resource on
data structures and algorithms. This book have collection of good problems,
data structures, and C++ concepts.

Another
reference on algorithms. Selective reading will be useful, pseudo code in Java.

10.
Donald Knuth books (Volume
1 through Volume 4).

If you have enough time
for research these books are for you. If you know well an algorithm, it is time
to refer this book for in-depth study.

11.
How To Solve It By
Computer by Dromey: A good collection of specific algorithms.
Short book, a must read.

12.
Foundations of Algorithms by
Richard Neapolitan.

I
heard that it is good book. Looking for Indian version of the copy.

A nice book on fundamentals of algorithms. If you have time, read each
chapter individually. The chapters are divided per design techniques. The book
is special for few number theoretic algorithms. I am still reading
it.

A book written by former professor, and present part of
a technological revolution company. It emphasizes the mathematical induction as primary
approach in designing algorithms. One must read it. Exercises and hits to
selected questions, are added bonus to the book. Unfortunately it is costly
edition.

Another nice book on algorithms. Good collection of problems,
and problem solving techniques.