How to learn Algorithms & Data Structures with Resources!
Algorithms! Data structures! Ahhhh…! In today’s modern world of tech, every computer science engineer needs to know algorithms and data structures(or your boss will say “You’re fired!” NOOO! 😬). To prevent that, you need to understand what is a data structure and what is an algorithm? And how do you learn it?
What is a data structure?
What is an algorithm?
An algorithm is a set of tasks in a program for computers(most times) and humans(sometimes).
Now I know what is a data structure and algorithms, where can I learn it?
Well, you need an order of learning it. You can’t just jump from here to there. Here is my recommended order:
NOTE: THE CONTENT SPECIFIED BELOW IS FREE AND IS NOT MAINTAINING BY ME.
- Learn a language and be at an intermediate/advanced level in that language.
- Big O Notation (Watch video by HackerRank and Gayle McDowall: https://www.youtube.com/watch?v=v4cd1O4zkGw or Colt Steele’s: https://www.youtube.com/watch?v=kS_gr2_-ws8)
- How to solve problems? (Udacity: https://www.udacity.com/course/problem-solving-with-advanced-analytics--ud976)
- Arrays Data Structure (IC: https://www.interviewcake.com/concept/python3/array)
- Data Structures: (Udacity: https://www.udacity.com/course/data-structures-and-algorithms-in-python--ud513)
- What’s an algorithm? (YouTube: https://www.youtube.com/watch?v=6hfOvs8pY1k)
- Algorithms (YouTube: https://www.youtube.com/watch?v=KEEKn7Me-ms&list=PLI1t_8YX-ApvMthLj56t1Rf-Buio5Y8KL)
- LeetCode (there are problems, mock interviews, and contests)
NOTE: Although LeetCode has a subscription, don’t purchase it! The only benefits are faster loading, faster submission, mock interview(the problems are the same as on https://leetcode.com/problemset/all/ except there is a 2-hour timer, and premium contests(you can attend the contest as virtual after the contest has ended).