I want to buy my 1st algorithm book
seeing plenty of books in amazon.com got confused.
please tell me which book can give sufficient fundamentals and
also provide comprehensive knowledge in algorithms.
I have C and java knowledge and also pursued certifications in each of them.
what more prerequisite knowledge is necessary to understand and
appreciate each and every points of the book.
I thought I'd replied to this, sorry if this shows up twice.
In the 80's I bought Sedgewick's book "Algorithms". In college the 2nd edition was a textbook for one of my classes. Great book, but as I graduated in '91 there may be better books out now.
Well hey, lookie what I found shutting down tabs so I can go to bed. Not the Sedgewick book, nor have I read the chapters, but it's free.
It's a no-brainer. We just need to take it to the next level to turn this into a win-win situation. The best practice is to get rid of the low-hanging fruit first. Ping me with an agenda so we can go flag up on this thing
I hate to show my age but I took most of my CS courses in the '60s and '70s. The algorithms we studied are things I use often but hardly ever have to implement. These days most of that stuff is in libraries, documented and tested libraries.
What kind of algorithms do CS students study in 2013 and beyond?
I don't mean to imply that Knuth is outdated as a good understanding of how things work under the covers helps in a lot of ways. But I can't remember the last time I had to implement anything in there. My copy of Numerical Recipes is well worn but also hasn't been doing much more than gathering dust and answering "how do they do that" kind of questions.
I find most of my reading these days is more about technologies, design patterns and the underlying science of the applications I'm working on. Some of Bear's comments, for example, have got me deep into servlets trying to get my code up to (what I think) are his standards.
Again, I'm not trying to disuade the OP from learning fundamental algortihms, I'm just wondering which ones are practical these days?
It's not what your program can do, it's what your users do with the program.
I think the practical value is not so much learning the exact algorithms covered -I concur that one would rarely have to implement those- as the discussion of what approaches are computationally faster than others - Big-O notation and all that. Looking at my copy of Algorithms that I mentioned earlier, the only actual algorithms we covered that I would use say broadened my mind were Dynamic Programming and Minimum Spanning Trees. (We'd already done sorting, searching, trees, hashing, NP-completeness etc. earlier, which are all also good to know.)