How can I learn algorithm from scratch
1–9 of 9 posts
Re: How can I learn algorithm from scratch
#2I also suggest you to join this Coursera course, Algorithms: Design and Analysis by Tim Roughgarden[2]. Currently the course is open, so you can sign up for classes. The course is offered in two parts[3], complete both of them.
Once you are comfortable with basic concepts start solving questions/puzzles online on sites like SPOJ[4], UVa[5], (YC-funded) HackerRank[6]. You could try TopCoder[7] also, but the questions are bit difficult. Hope this helps.
PS - You should study math, because it is important in Algorithms Analysis. You could try reading required parts of Concrete Mathematics by Knuth[8] or as you come across new concepts, Google and understand them.
[0] - http://www.amazon.com/dp/8177583581
[1] - http://www.amazon.com/dp/1848000693
[2] - https://www.coursera.org/course/algo
[3] - https://www.coursera.org/course/algo2
[4] - http://www.spoj.com
[5] - http://uva.onlinejudge.org
[6] - http://hackerrank.com
[7] - http://www.topcoder.com
Re: How can I learn algorithm from scratch
#31. Coursera Algorithms I for formal university-style learning. See https://www.coursera.org/course/algs4partI
2. Algomation.com for visualising algorithms. See http://www.algomation.com/
3. http://bigocheatsheet.com/ for time/space complexities for the most common data structures & algorithms.
4. The book - Cracking the Coding Interview which goes through the questions that top companies like Google, Amazon, Microsoft ask during interviews. For their solutions, see https://github.com/gaylemcd/ctci
Hope that helps in some ways.
Re: How can I learn algorithm from scratch
#4CLRS is quite 'academic' and requires good understanding of mathematics. It's a great book, but not a good one for beginners, imo. It will be difficult as self study for first timers. You can start with Datastructures and Algorithm Analysis in C by M. A. Weiss[0]. One more alternative is The Algorithm Design Manual by S. Skiena[1]. It's also good and focuses more on algorithm, implementation (as opposed to math-y stu…
A book I think is informative from a practical perspective is Algorithms in a Nutshell from O'Reilly Press. As always with Amazon I would look for a used copy.
Re: How can I learn algorithm from scratch
#5You could check out the following resources: 1. Coursera Algorithms I for formal university-style learning. See https://www.coursera.org/course/algs4partI 2. Algomation.com for visualising algorithms. See http://www.algomation.com/ 3. http://bigocheatsheet.com/ for time/space complexities for the most common data structures & algorithms. 4. The book - Cracking the Coding Interview which goes through the questions tha…
My only complaint is that they removed the videos from past sessions (I did find them elsewhere on the web).
Re: How can I learn algorithm from scratch
#6CLRS is quite 'academic' and requires good understanding of mathematics. It's a great book, but not a good one for beginners, imo. It will be difficult as self study for first timers. You can start with Datastructures and Algorithm Analysis in C by M. A. Weiss[0]. One more alternative is The Algorithm Design Manual by S. Skiena[1]. It's also good and focuses more on algorithm, implementation (as opposed to math-y stu…
I would also recommend Roughgarden's Coursera classes, however, I would strongly recommend waiting for a live session. A book I think is informative from a practical perspective is Algorithms in a Nutshell from O'Reilly Press. As always with Amazon I would look for a used copy.
Re: How can I learn algorithm from scratch
#7The great thing about self-directed learning is that there is so much time over which to acquire new knowledge in the area. And in the age of the internet there are vast resources available on any computing topic.
The best resource for learning algorithms is Wikipedia. It doesn't stand alone and a lot of the typical algorithm article will go over most people's head but the more you learn the more of an article will make sense each time you come back to it.
Finally, there are only a few people who are objectively good at designing algorithms - Tarjan, Hoare, Dijkstra for example. Most of what is professionally good is pattern matching existing algorithms to new situations. That's the art that Knuth has spent sixty years describing.
Re: How can I learn algorithm from scratch
#8Re: How can I learn algorithm from scratch
#9Intro to Algorithms, it was pretty tough at times but I really liked it. The Algorithm design manual. Algorithms in a nutshell.
I also was taking a course at Temple which helped but I really liked reading about them, than I thought a lot about the algorithm. I also have a lot of Data Structures books to go along with the Algorithm books too, let me know and they are all yours.