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.
This course really helped it click for me. Available for free and taught by the Primeagen.
I'll give a +1 for this course. Prime is a great teacher. I've been a dev for a decade at this point and it really helped fill in the gaps for me that I've been missing all these years.
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.
SICP. Structure and interpretation of computer programs
The book is online for free. From the author. Highly recommended
Hands down the best programming book. It has a great section on abstraction through data structures.
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev