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.
- Learn how to code with these resources
- Learn Java with these resources
I discovered this course a little bit later, but it would have been a great place to start because it is very beginner-friendly.
- Type: Course with exercises
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
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
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
- Type: Article
Other helpful resources
Other resources I haven’t used yet
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.