I know this can be easily searched over internet, but I want to know your experience. I don’t want a medium article listing algorithm courses.
I found Algorithms from Princeton University in coursera, but course is too old and many resources they have provided are not working right now. I would apprentice it if you could share more of an video type resources because I am not good with programming books, I can not focus them.
Thanks in advance…
I’m almost done reading “A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills”. I think it’s a pretty great beginner resource and as a self taught dev, it’s helped me fill some gaps in my knowledge.
My algorithms prof recommended tim roughgarden’s course.
I haven’t watched the videos but his textbook is pretty nice.
I’ve used “Data Structure and Algorithms in Java” by Goodrich, Tamassia & Goldwasser. I used the Java one but they wrote other books covering a lot of other programming languages. Really good book, the arguments are well explained and made easy to read and understand. It starts with a little bit of theory about the language, recursion, analysis methods. Covers the arguments very well, by presenting the Abstract Data Type, pseudo code for all of them and even a Java implementations like 95% of the arguments. Helped me a lot in uni, the book alone did a much better job than my DSA course lecturer and I still got a really good mark.
My answer is going to be a bit different but this is what worked for me. I tried many courses, reading books, trying to code etc but never quite understood data structures. I used to get bored halfway.
What worked for me is literally solving problems. I would pickup a data structure. Implement it in Java on my own with help from internet. Then i would solve 10 problems on it. Then move to next data structure. Once you have familiarity with most used data structures like stack, queue, maps, linked lists, arrays, trees, etc. then it’s time to move to algorithms like graphs, better sorting techniques, etc.