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).