DEV Community

David
David

Posted on • Originally published at learnitmyway.com

Learn Data Structures and Algorithms with these resources

Data Structures and Algorithms is a very dense field of study. Companies such as Google and Amazon include solving problems in this area as a large part of their application processes. As a web developer, I don't think it's as important to know, but I enjoy learning about it. In this article, I share the resources I have used.

Assumed knowledge

All the resources below assume basic coding skills and some assume basic knowledge of JavaScript, Python and/or JavaScript. If you feel you need to brush up on these skills, I would recommend:

Resources

Algorithms - Khan Academy

I discovered this course a little bit later, but it would have been a great place to start because it is very beginner-friendly.

  • Language: JavaScript
  • Type: Course with exercises

Intro to Data Structures and Algorithms - Udacity

A nice place to start. The course goes through the most common data structures and algorithms and also demonstrates a mock interview.

  • Language: Python
  • Type: Video course with exercises

Cracking the Coding Interview - Gayle Laakmann McDowell

A practical guide to data structures and algorithms. This book has so much content, which can be overwhelming, but I found it useful and enjoyable. Examples and solutions are in Java, but there are community solutions in other languages as well.

  • Language: Java
  • Type: Book

LeetCode

Great for practice with varying levels of difficulty. Almost all problems have an official solution in Java, but there are also community solutions in other languages. You can also compare the runtime and memory with other submissions. However, I found this to be inconsistent sometimes. Nevertheless, I compared this website with a lot of similar ones and liked it the most.

  • Language: Many
  • Type: Exercises

Exploring the Two-Sum Interview Question in JavaScript - Nick Scialli

An in-depth article that looks at a common interview question solved using JavaScript.

  • Language: JavaScript
  • Type: Article

Other helpful resources

Other resources I haven't used yet

Final Thoughts

Learning Data Structures and Algorithms can be quite challenging. LeetCode categorises their problems as easy, medium and hard but I haven't even attempted a hard problem yet. I was surprised how much there is to learn in this space and how much you need to know to get a job at one of the big tech companies. However, I do get the impression it is only a matter of practice, and there are unlimited ways of doing that.


Before you go… Thank you for reading this far! If you enjoyed the article, please don't forget to ❤️ it.

I write about my professional and educational experiences as a self-taught software developer, so click the +FOLLOW button if this interests you! You can also check out my website or subscribe to my newsletter for more content.

You might also like:

Top comments (0)