Suggest me books in C/Algorithms/DataStructures

avi

Skilled
Can you suggest me few good books ? All I know is basics which was part of my curriculum but I'd like to learn more now.

I want to be good in programming, so I need good books in
  • C/C++
  • Java [thinking to get Head First]
  • Algorithms
  • Data structures

Algo & Datastructures I find books are too complicated, so I need some good books which explain everything in noob ways. Later I can move on to advanced stuffs.

Thank you
<
 
If you only want to learn college syllabus level FIRST then go buy the ... *gulp* *gasp* Balguruswamy book on datastructures and algorithms .
 
No no, not syllabus
<
Will be studying on my own
<


and for syllabus stuff, Padmareddy's book on C is lot lucid than that of Balaguruswamy's
<
 
Padmareddy is a good starting point, if you are completely new to the world of programming I would advise you to become a part of ocw.mit.edu, or try some other university which provides free video lectures.​

There is this class called CS106A by Stanford it makes an excellent starting point for a good CS foundation and follow this with CS107 if you can honestly do all the programming assignments, projects and finals you will be better than a lot of the so called programmers out there.​
 
Padmareddy is a good starting point, if you are completely new to the world of programming I would advise you to become a part of ocw.mit.edu, or try some other university which provides free video lectures.​

There is this class called CS106A by Stanford it makes an excellent starting point for a good CS foundation and follow this with CS107 if you can honestly do all the programming assignments, projects and finals you will be better than a lot of the so called programmers out there.​

Thanks for replying
<
I couldn't find any links about joining the CS106A course. Can you provide any link ?

algos=cormen ... fullstop

Thank you for replying
<
Is this the right book ? - http://books.google.co.in/books/about/Introduction_to_algorithms.html?id=NLngYyWFl_YC&redir_esc=y
 
Yes yes .. that one is awesome . Notice that all of these high rated coding books have pictures of animals and plants on their cover
<
.
 
algos=cormen ... fullstop

+1 to this.

http://www.flipkart.com/introduction-algorithms-8120340078/p/itmczynzhyhxv2gs

http://www.indiaplaza.com/introduction-to-algorithms-thomas-h-cormen/books/9788120340077.htm

Indiaplaza is cheaper.

And for CS106A

http://www.google.co.in/url?sa=t&rct=j&q=mit%20cs106a%20&source=web&cd=1&ved=0CCAQtwIwAA&url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DKkMDCCdjyW8&ei=VpNZT-0SjMytB6Xn1e8P&usg=AFQjCNFJuZrX3P9EiTHCE9p7DTUocymihA

All of MIT available for public are available on their Youtube Channel.

Search for 'OpenCourseWare' and you'll find links for online courses offered by many universities including MIT. Most of these universities will have videos linked to the courses.
 
^thanks for replying guys. How is the language used in Cormen's book ? Hope a beginner can understand.

#pr0ing - thanks for the link
<
But I thought I could join online course, sign up classes etc. something like this https://www.ai-class.com

#Scorpy - You are right ! I read this awesome book of OS by Galvin & it has pictures of Dinosaurs all over
<


and any books in Data Structures ?
 
^thanks for replying guys. How is the language used in Cormen's book ? Hope a beginner can understand.

Cormen is the standard text book for DSA(Data Structures and Algorithms).Language is simple and explanations are clear.

Which year are you in?I'm in my final year and my placements went pretty well so I'll tell you what I did for algorithms.

1.You should first read and understand the basics thoroughly from Cormen - stack,queue,tree,heap,basic graph algorithms(Least Distance,Spanning tree,BFS,DFS).Avoid reading the more complicated things like Fibonacci heaps and red-black trees (there's no point,you will forget it anyway)

2.Learn an object oriented language(Java in your case).Also learn how to use Java library functions and data structures.

3.Start solving problems on coding sites like CodeChef,TopCoder.etc and ask people on the forums for help.I used this site - SPOJ .I highly recommend it,you can learn a lot more on SPOJ forums than any book.Use the Java Library whenever possible(say for making a stack).Doing this will make you encounter problems which will teach you more about the language.

If you do this your knowledge in Java will gradually improve,your problem solving skills will improve, you'll get sharper and you'll be thorough with DSA.

Hope this helps
<
 
^thanks for replying
<


Actually I am not doing this for placements, so no worries & no time constraints
<


So cormen is book is also for Data Structures ? I don't need any books ?
 
^Nah Cormen has it all ...
<
... advanced stuff will come later I think . But to crack all real world problems this is where you start with that book .I had also used it but then stopped as it was more than my syllabus but gonna resume to clear everything .
 
learning the algos is only step 1

figuing out how to use them is totally different

you will understand if you start doing topcoder type competitions
 
#dovakhiin I tried several easy problems from codechef and till date, I have never been able to solve a single question (c/c++), and I thought I was good at programming
<


Most of the times I don't even understand the questions.
<
Their solution seems to me alien-like.
 
#dovakhiin I tried several easy problems from codechef and till date, I have never been able to solve a single question (c/c++), and I thought I was good at programming
<


Most of the times I don't even understand the questions.
<
Their solution seems to me alien-like.

That's completely normal man...those problems are really hard.Just start with the easy ones and ask for help in the forums.I haven't used code chef so i'm not sure if it works the same way.Try www.spoj.pl.Solving just a couple of tough problems will make you learn a lot.

#avi i forgot to mention dynamic programming in that post.So study it too its pretty important.
 
http://www.algo-class.org/

Is the place where a basic class on Algorithms is going on, but you would need some programming experience to completely understand the things being talked about.

____

Sorry for the repost, I was away from the keyboard, but and had not refreshed the page.
 
Back
Top