A good book for Algorithms

@vi

Journeyman
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

Journeyman
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.:)
 
OP
@

@vi

Journeyman
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

Decrepit
Data Structures and Algorithms Made Easy: 700 Data Structure and Algorithmic Puzzles by Mr Narasimha Karumanchi
 

digit.sh

Journeyman
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.
 
OP
@

@vi

Journeyman
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

Journeyman
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
 
OP
@

@vi

Journeyman
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 :)
 
OP
@

@vi

Journeyman
Yes :)

NPTEL :: Computer Science and Engineering - Theory of Automata, Formal Languages and Computation
 

digit.sh

Journeyman
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.
 
OP
@

@vi

Journeyman
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

Journeyman
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.
 
OP
@

@vi

Journeyman
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 :)
 
Top Bottom