Suggest book for Data Structure Implementation in Java

hotshot05

Skilled
I have just started learning Java 2 months ago.
Right now I am using set, list and map very haphazardly to solve problems. So I am looking for a book which explains them in detail and also solves real life problems using them. I want to learn the most efficient method for solving problems using these built in data structures.

Data Structures And Algorithms Made Easy In Java 2nd Edition by Narasimha Karumanchi

http://www.flipkart.com/data-structures-algorithms-made-easy-java-2nd/p/itmd5dg4yjmr7bvh
Is this book any good?

I already have studied Data Structures in my B.Tech course and have implemented them in C. I studied DS from the book "Data Structures by Seymour Lipschutz(Schaum series)"

P.S - I have gone through SCJP 6 Exam Study Guide by Katherine Sierra & Bert Bates and also have Programmers Guide to SCJP6 by Khalid Mughal. These 2 books only give an overview of the Collections package.
P.S 1 - My training will end in a month and I will be deployed after that. So need to understand these things as fast as possible so that I can apply it efficiently.
 
Last edited:
I happen to go through book by same author on DS and Algorithms in C. The book was descent good for first timer. I hope the Java counterpart is as good as the C one. I went through the contents of the book you mentioned and it almost covered most of the parts. I would suggest to go for it.
 
I haven't read that book (or any of his other books), but I happened to do a tech interview of the author of that book and found his basics disturbingly lacking when it came to application of DS and algorithms for problem solving. Not sure if he was really like that or just acting the part considering that he had worked for many good companies in the past and I had expected him to perform well.

In any case, what I have heard from readers of his books and online reviews is that he has compiled the content for his books from various sources and that they are not the best of books often containing incorrect info. Also, apparently only the C/C++ books are authored by him. The Java versions are written by somebody else working for him, but sold on his name.
 
The books which helped me write better java code would be 1) Algorithms by Robert Sedgewick 2) The algorithms design manual by Skiena 3) Effective Java by Joshua Bloch.

You could also consider taking coursera algorithms courses offered by Robert Sedgewick. Doing assignments every week, interacting with other students on the course forum should be very helpful.

IIRC Skiena puts some of his lectures on some youtube channel.
 
If you want a basic book for beginner, I would recommend "Data Structures through C in Depth" by S K Srivastava.The text is extremely basic and the implementations are the in the smallest way possible. Once you get acquainted, you can port it to Java. However, Java has inbuilt support for most DS, so also get acquainted with the Collection classes.
Karumanchi is more advanced and is mostly suitable for people attempting programming competitions.
 
Karumanchi is crap. Please to stay away. He blatantly copied stuff from online sites and turned into a book. Funnily I have met him personally once (in August 2012). Instead of talking about CS he rather chose to talk about selling and marketing his books. I am not an expert, but however people who are really good in CS, told me avoid his book at any cost.

Just get a fcking real book.
 
^^ Maybe you're right but I've seen people who clear interviews of companies like Amazon, FK, Hike, etc. and competitive programming contests swearing by that book.
 
Its important to understand the datastructures than understanding the "Implementation in Java". Think of it as mathematics rather than computers.
Highly suggest the MIT opencourseware. it will blow your mind. also the lectures by IIT. search "MIT 6.046J / 18.410J Introduction to Algorithms (SMA 5503), Fall 2005"
below is just the introduction :)
 
Its important to understand the datastructures than understanding the "Implementation in Java". Think of it as mathematics rather than computers.
Highly suggest the MIT opencourseware. it will blow your mind. also the lectures by IIT. search "MIT 6.046J / 18.410J Introduction to Algorithms (SMA 5503), Fall 2005"
below is just the introduction :)
Does this course have the required mathematics included or do we have it in some other MIT course?
I am looking to learn mathematics required for studying algorithms. I know that a lot of things are available on MIT OCW and Khan Academy. But I need a bucket list which tells me what to learn in mathematics.
 
Does this course have the required mathematics included or do we have it in some other MIT course?
Yes. It does requires math. You can't really avoid learning math if you want to learn algorithms.

If you want basic math requirements, then start with Concrete Math by Knuth and also OCW Course of Discrete Maths. However you don't need to study all that. Also check:

http://programmers.stackexchange.co...kill-for-introduction-to-algorithms-clrs-book
http://stackoverflow.com/questions/...ath-required-to-understand-algorithm-books-th
 
Does this course have the required mathematics included or do we have it in some other MIT course?
I am looking to learn mathematics required for studying algorithms. I know that a lot of things are available on MIT OCW and Khan Academy. But I need a bucket list which tells me what to learn in mathematics.
No extra math is required for this course beyond what is taught in 12th standard. I would however, recommend that you pick up a copy of Introduction to Algorithms by CLRS, it has all the required terminology like the complexity notations. Its a n excellent text, for which you'll thank me later.
 
No extra math is required for this course beyond what is taught in 12th standard. I would however, recommend that you pick up a copy of Introduction to Algorithms by CLRS, it has all the required terminology like the complexity notations. Its a n excellent text, for which you'll thank me later.
I had bought CLRS to use it with this OCW course or the Stanford online course. But I think I read somewhere that we have to learn some discrete mathematics before reading CLRS. So have not started with it yet.

What part of +2 does CLRS require? Probability?
 
I had bought CLRS to use it with this OCW course or the Stanford online course. But I think I read somewhere that we have to learn some discrete mathematics before reading CLRS. So have not started with it yet.

What part of +2 does CLRS require? Probability?
Functions, logarithms, summations, matrices, probability, etc.
 
Functions, logarithms, summations, matrices, probability, etc.
I am very bad at probability.
Will look for courses to brush up on that.
All through school life I had taken a very bad approach to learning probability. Instead of taking in the concepts, I read the solutions to a few problems and applied those approaches to the rest of the problems. Thus probability has always been trial and error for me!
 
Back
Top