DIGIT-ARC read-only archive · snapshot: July 23, 2026

A good book for Algorithms

25 posts · originally from https://geek.digit.in/community/threads/a-good-book-for-algorithms.163874/

@
@vi Original post #1
Sep 26, 2012 at 2:56 PM
I need a good book for algorithms. I already have Thomas Cormen's book, however I feel it's bit tough for beginner like me.

So any good book which explains more lucidly ?
-should have more exercises
-more coverage on space/time complexities and asymptotic notations
-recurrence relations

Concepts like Divide & Conquer, Greedy etc covered well in Thomas' book. But above topics are not well covered.

So anyone here can suggest me a good book ??

Thank you :)
digit.sh
Sep 26, 2012 at 3:40 PM
I need a good book for algorithms. I already have Thomas Cormen's book, however I feel it's bit tough for beginner like me.

So any good book which explains more lucidly ?
-should have more exercises
-more coverage on space/time complexities and asymptotic notations
-recurrence relations

Concepts like Divide & Conquer, Greedy etc covered well in Thomas' book. But above topics are not well covered.

So anyone here can suggest me a good book ??

Thank you :)

More exercises? Are you confident you would be able to solve all of CLRS's problems?

For Space/Time complexities, thorough understanding of Automata(FSA and especially TM) is a must. And for that, the legendary book "Introduction to Automata Theory Languages and Computation" by Hopcroft, Motwani and Ullman is the best. The last four chapters(TM, Undecidability, Intractibility, Additional Classes of problems) would be what you are looking for.
Also, there is the book by Michael Sipser. This one is written in a less formal style and I do not like that very much.

CLRS covers enough of asymtotic notations.

You may also look into the other great Algorithm book by Jon Kleinberg and Eva Tardos. I did not get my hand on it yet, so I can't comment. And I do not think it would be easier than CLRS to grasp. Among Indian authors, "Fundamentals of Computer Algorithms by Ellis Horowitz, Sartaj Sahni, Sanguthevar Rajasekaran" is good. I would say, stick to CLRS for the topics it covers and read other book for those it doesn't. CLRS is the best. Its the most lucidly written algorithm book ever.

All the best and have an exciting journey in Theortical Computer Science.:)
@
@vi #3
Sep 28, 2012 at 11:35 AM
Thank you very much for replying !

More exercises? Are you confident you would be able to solve all of CLRS's problems?
Nope, I didn't mean like that :p however CLRS has less exercises in the topics I mentioned.

For Space/Time complexities, thorough understanding of Automata(FSA and especially TM) is a must. And for that, the legendary book "Introduction to Automata Theory Languages and Computation" by Hopcroft, Motwani and Ullman is the best. The last four chapters(TM, Undecidability, Intractibility, Additional Classes of problems) would be what you are looking for.
Also, there is the book by Michael Sipser. This one is written in a less formal style and I do not like that very much.
Wow, I never thought there is an connection between S/T Complexities with Automata Theory :-/ I have both books, one by Sipser and also by Hopcroft. I also have a book by Peter Linz which I like it more. I feel Hopcroft bit complicated compared to Linz / Sipser.

I am doing Regular Expressions currently and it would take time for me till TM/Undecidability.

But again, I never thought these are connected :-/ Means my approach studying these wasn't correct may be.

You may also look into the other great Algorithm book by Jon Kleinberg and Eva Tardos. I did not get my hand on it yet, so I can't comment. And I do not think it would be easier than CLRS to grasp. Among Indian authors, "Fundamentals of Computer Algorithms by Ellis Horowitz, Sartaj Sahni, Sanguthevar Rajasekaran" is good. I would say, stick to CLRS for the topics it covers and read other book for those it doesn't. CLRS is the best. Its the most lucidly written algorithm book ever.
Got PDF of JK and ET, yet to check it though. Friend has Sahni, will see it today.

Well, CLRS is best but I felt it has less exercises in the topics I mentioned. In rest all topics it is well explained lucidly.

All the best and have an exciting journey in Theortical Computer Science.:)
Thank you :) Theory of Comp. Science is a lot interesting. I am thinking to pursue higher studies in TOC/FAFL, any pointers you can add ? Any suggestions ?

Thanks again ;-)
mitraark
Sep 29, 2012 at 2:32 AM
Data Structures and Algorithms Made Easy: 700 Data Structure and Algorithmic Puzzles by Mr Narasimha Karumanchi
digit.sh
Sep 29, 2012 at 7:34 AM
Wow, I never thought there is an connection between S/T Complexities with Automata Theory :-/ I have both books, one by Sipser and also by Hopcroft. I also have a book by Peter Linz which I like it more. I feel Hopcroft bit complicated compared to Linz / Sipser.

I am doing Regular Expressions currently and it would take time for me till TM/Undecidability.

But again, I never thought these are connected :-/ Means my approach studying these wasn't correct may be.

They are connected. In fact FSA, PDA, TM are the basis of Complexity theory.

Thank you Theory of Comp. Science is a lot interesting. I am thinking to pursue higher studies in TOC/FAFL, any pointers you can add ? Any suggestions ?

Suggestion:

1. Stop looking for "better books". Do not get carried away. Hopcroft,Ullman,Motwani and CLRS are all you need to have build a solid base. Those two are a must for a CS engineer.

2. In parallel, study Maths. Specially Counting, Probability Theory, Graph Theory, Linear Algebra, Calculas and Abstract algebra(Set, Group, Ring, Field etc)

3. Remember, CS == Mathematics.
@
@vi #6
Sep 29, 2012 at 4:59 PM
Data Structures and Algorithms Made Easy: 700 Data Structure and Algorithmic Puzzles by Mr Narasimha Karumanchi
Have this book, I didn't liked it. It has a answer to concepts approach i.e. explains concepts via answers rather than making user think upon questions

CS == Mathematics.
I realized this few months ago & my perspective towards CS has been entirely different since then. CS is a lot beautiful now :) As a matter of fact, I started Discrete Mathematics [with Kenneth H. Rosen books + Arthur T Benjamin's lectures.]

In fact FSA, PDA, TM are the basis of Complexity theory.
This I was understood. Almost every TOC book starts with Computability, Complexity & Automata Theory. But I just couldn't connect/relate to Time & Space complexities of Algorithms. So I guess I have to read lot careful now & think in all possibilities.

Suggestion:

1. Stop looking for "better books". Do not get carried away. Hopcroft,Ullman,Motwani and CLRS are all you need to have build a solid base. Those two are a must for a CS engineer.

2. In parallel, study Maths. Specially Counting, Probability Theory, Graph Theory, Linear Algebra, Calculas and Abstract algebra(Set, Group, Ring, Field etc)

3. Remember, CS == Mathematics.
Thanks for these suggestions :)

1. Actually I don't go hunting books but whenever I am unable to comprehend concepts I look for same in other books. I am studying Peter Linz now, once I feel confident about subject, then go with Ullman.

2. Yup, already doing it :)

EDIT : Just observed you sig about Algo + FA link :p Can you tell me more about TOC ? Also, are you a graduate / studying TOC ?
audiophilic
Sep 29, 2012 at 6:30 PM
What kind of algorithm do you want to implement? And on what level? There are so many out there to fill the whole world, so you need to be specific, and work towards it by drawing some flowcharts and pseudo codes. Also, a modular hierarchy can be handy sometimes to solve tougher problems
dashing.sujay
Sep 29, 2012 at 6:47 PM
TOC simply goes over my head. Have a backlog in it :(
@
@vi #9
Sep 29, 2012 at 7:12 PM
What kind of algorithm do you want to implement? And on what level? There are so many out there to fill the whole world, so you need to be specific, and work towards it by drawing some flowcharts and pseudo codes. Also, a modular hierarchy can be handy sometimes to solve tougher problems
Just want to learn basics. Complexities & Design strategies :)

TOC simply goes over my head. Have a backlog in it :(
Well, book by Peter Linz is very lucid. See video lectures of Shai Simonson. Even video lectures by Kamala Keerthivasan at NPTEL is also good :)
dashing.sujay
Sep 29, 2012 at 7:18 PM
^Is that the same lady lecturer (who is of IIT-mad, I guess) ?
@
@vi #11
Sep 29, 2012 at 7:42 PM
Yes :)

NPTEL :: Computer Science and Engineering - Theory of Automata, Formal Languages and Computation
dashing.sujay
Sep 29, 2012 at 7:43 PM
Sorry to say but I already have that and found it too boring. :|
@
@vi #13
Sep 29, 2012 at 7:58 PM
I agree :p

Try Shai Simonson's lectures
sanny16
sanny16 #15
Sep 29, 2012 at 8:11 PM
Introduction to the Design and Analysis of Algorithms Anany Levitin
digit.sh
digit.sh #16
Sep 29, 2012 at 11:22 PM
EDIT : Just observed you sig about Algo + FA link Can you tell me more about TOC ? Also, are you a graduate / studying TOC ?

Only good Vid lecture I know is of Shai Simonson's. Avoid Kamala Keertivasan's.
I am in B.Tech 4th year.
@
@vi #17
Sep 29, 2012 at 11:49 PM
Thanks, will give it a try :).
Also join Coursera. Their courses are really good, interactive & never boring. Not sure they have TOC.

Introduction to the Design and Analysis of Algorithms Anany Levitin
Thank you ! Will check that out

Only good Vid lecture I know is of Shai Simonson's. Avoid Kamala Keertivasan's.
I am in B.Tech 4th year.
Oh, is it ? may I know why ? A lot of people suggested me. I mean a lot :|
digit.sh
digit.sh #18
Sep 30, 2012 at 12:29 PM
Oh, is it ? may I know why ? A lot of people suggested me. I mean a lot :|

Because, she presents such an interesting subject in soo boring and uninteresting manner. You don't get the charm. Also, she has heavy south Indian accent:)P) which I don't like and sometimes can't even comprehend. But I did not spend enough time to see whether she is mathematically precise or not.
@
@vi #19
Sep 30, 2012 at 5:03 PM
Because, she presents such an interesting subject in soo boring and uninteresting manner. You don't get the charm. Also, she has heavy south Indian accent:)P) which I don't like and sometimes can't even comprehend. But I did not spend enough time to see whether she is mathematically precise or not.
Agreed :p

But aren't most of NPTEL / IIT lectures are boring ? There is this video lectures of P K Biswas on OS. That guy is super slow & will bore anyone to death :p But once you start getting the subject, it will become a lot more interesting to watch. I took almost 2 weeks to complete the first 2 lectures, but later I finished the entire course a lot quickly :)
prabhu.wali
Oct 19, 2012 at 8:42 PM
i suggest u take a look at Algorithms course at Coursera,here *www.coursera.org/course/algo
@
@vi #21
Dec 11, 2012 at 9:54 PM
how did I miss this :-/

*class.coursera.org/automata/class/index
crazylamhe
Dec 23, 2012 at 1:35 AM
Not trying to jump the thread, I just need to clarify something, as I found this thread to be relevant to my doubts .. I have CLRS and also the Automata Books mentioned. However, unlike OP, I'm not interested in pursuing higher studies in TOC/FAFL. I just want to know the practical implementation of algorithms, enough to crack programming interviews; but then they also dig somewhat deeper. So, do I need to go in so much deeper as learning discrete maths, ring theory etc(you see it is as far as you go) ??
Or should I delve more into puzzles and stuff knowing just the basics ... but then how do I define the basics ?
Sorry again, i have no intention to jump the thread.
A
Jan 2, 2013 at 11:43 AM
Data Structures and Algorithms Made Easy: 700 Data Structure and Algorithmic Puzzles by Mr Narasimha Karumanchi
@
@vi #24
Jan 2, 2013 at 12:51 PM
^nah, I wouldn't suggest that book.
MetalheadGautham
Jan 2, 2013 at 8:57 PM
A few links that can help in this thread:

Algorithm Tutorials

Tutorials | CodeChef

GeeksforGeeks