4 ms·
Thank you for sharing this. Anyone would recommend resources for learning fundamental of data structures? Book, video, or courses are welcome. I don't care th
by 0x54MUR41 10y ago
Thank you for sharing this.
Anyone would recommend resources for learning fundamental of data structures?
Book, video, or courses are welcome. I don't care the programming languages that are used for implementations. I am OK with C.
- mej10 10y agoThe Algorithm Design Manual by Steven Skiena Really enjoyed that book! It intersperses real world use cases which helps when your motivation starts to wane and has a warmer tone than most algorithm books. That being said, it is still pretty rigorous and will take a lot of work to get through it all. Whichever resource you choose, make sure it has exercises and do them! Even if you can't 100% figure some of them out just trying to will help your thinking immensely.
- marai2 10y agoI'll second that recommendation and op makes an important point that is rarely expressed when threads on learning algorithms show up on HN: Don't be discouraged if you find the material hard at first, "Even if you can't 100% figure some of them out just trying to will help your thinking immensely."
- 0x54MUR41 10y agoThanks a lot. I like your advice.
- sn9 10y agoSkiena's book is excellent and is definitely one to get. Another would be Sedgewick's Algorithms. He has a pair of courses on Coursera [0] that follow his 4th edition which uses Java. You're in for such a treat! Learning data structures and algorithms is so fun and really changes the way you think about programming. [0] https://www.coursera.org/learn/introduction-to-algorithms https://www.coursera.org/learn/introduction-to-algorithms
- 0x54MUR41 10y agoThank you for your recommendation and advice. I will go for Skiena's book since a lot of people recommend it.
- bandali 10y agoOpen Data Structures [0] by Pat Morin is a good one, and it comes in 3 editions (pseudocode, java, and c++) so you can pick whichever you prefer. [0]: http://opendatastructures.org/ http://opendatastructures.org/
- 0x54MUR41 10y agoThank you.
- wlkr 10y agoThe preliminary undergraduate data structures course at my uni was taught using the Data Structures and Algorithms book by Michael T. Goodrich, Roberto Tamassia & Michael H. Goldwasser. The book is available for Python, Java and C++, though I can only vouch for the Java one as I haven't had the opportunity to read the others. http://ww3.datastructures.net/ http://ww3.datastructures.net/
- 0x54MUR41 10y agoThank you.
- ohyoutravel 10y agoI also recommend the Algorithm Design Manual. In my algs class in school, we used Cormen's Introduction to Algorithms (of course), which is considered to be seminal in the field, but that's a bit of a bear to get through. Alg Design Manual is great and gives shorter shrift to complexity notation and the math behind it, while still giving you a robust introduction to it. Also, it's not as long as it appears as much of the book is devoted to going through specific algorithms so you can be familiar and add them to your mental "tool kit."
- 0x54MUR41 10y agoOK. I am looking forward for Algorithm Design Manual. When I was taking analysis and design of algorithm class in my school, my lecturer used CLRS book as the main book. I think that book is so hard to learn. Some parts in the book is easy to understand, some other part is not.
- prakashk 10y agoTake a look at the recently released "Grokking Algorithms" [1] by Bhargava. Uses Python for code examples. I haven't read it personally, but has good reviews on Amazon [2]. [1] http://adit.io/posts/2016-05-25-Grokking-Algorithms-Is-Out.html [2] https://www.amazon.com/dp/1617292230/ref=cm_sw_su_dp
- 0x54MUR41 10y agoThank you.
- vineet7kumar 10y agoI am a fan of Mark Allen Weiss' Data structures and algorithm analysis in C (https://www.amazon.ca/Data-Structures-Algorithm-Analysis-2nd/dp/0201498405 https://www.amazon.ca/Data-Structures-Algorithm-Analysis-2nd...). It is much smaller than CLRS and the algorithms are listed as C source code rather than pseudo code. I also like the coding style presented in the book.
- 0x54MUR41 10y agoThanks. It seems interesting.
- jonjacky 10y agoIn their book The Practice of Programming, Kernighan and Pike explain the really important stuff in about 30 pages, chapter 2 in the book. They cover four data structures: array, list, tree and hash table, and two kinds of algorithms: sorting and searching. They say that just these are enough for most common situations. (They use C.)
- 0x54MUR41 10y agoThank you.
- yogeshp 10y agoIf you are interested in Video lectures, there are plenty of resources available at this link: https://github.com/Developer-Y/cs-video-courses https://github.com/Developer-Y/cs-video-courses For data structures in specific, You can go through following courses 1. CS 61B, Prof Jonathan Shewchuk, UC Berkeley -> [1] 2. COP 3530 Data Structures and Algorithms, Prof Sahni, UFL -> [2], videos are available at [3] 3. COP 5536 Advanced Data Structures, Prof Sahni - UFL [4] All above courses focus on ideas than on mathematical rigour. [1] https://www.youtube.com/playlist?list=PL4BBB74C7D2A1049C https://www.youtube.com/playlist?list=PL4BBB74C7D2A1049C [2] http://www.cise.ufl.edu/~sahni/cop3530/ http://www.cise.ufl.edu/~sahni/cop3530/ [3] http://www.cise.ufl.edu/academics/courses/preview/cop3530sahni/ http://www.cise.ufl.edu/academics/courses/preview/cop3530sah... [4] http://www.cise.ufl.edu/~sahni/cop5536/index.html http://www.cise.ufl.edu/~sahni/cop5536/index.html
- 0x54MUR41 10y agoThank you so much.