Data structures is one of the most important thing to master in order to crack job interviews and land a dream job in FANG. So this post will give a roadmap in order to master it from an experienced perspective.
Roadmap to master Data Structures and algorithms
1 Learn a programming language basics:
First you need to select a programming language according to your interest and choice. For example: learn JavaScript if you are interested in webdevelopment, learn python for machine learning, learn C++ for competitive programming, etc.
I would like to recommend an object oriented programming language
to learn in the beginning. I will specifically recommend python which you can by comparing top courses on Pacificmultiverse
2 Learn the important data structures
The important data structures to focus on are:
- Array: It is a collection of similar data types in a list form
- String: It is an array used to store character data type
- Linked list: List where pointers are used to point towards stored data.
- Stack: Linear data structure which follows last in first out.
- Queue: Linear data structure which follows first in first out.
- Tree: Here data is stored in form of node.
- Graph: Here data is represented in form of vertices and edges.
3 Learn the important algorithms
The important algorithms I will recommend are:
1.Linear search: This algorithm starts from one end and ends at the other.
2.Bubble sort: It works by repeatedly swapping the adjacent elements if not in the right order.
3.Divide and conquer: Divide and Conquer is an algorithmic paradigm in which the problem is solved using the Divide, Conquer, and Combine strategy.
4.Breadth first search: It is used to search in graph structure.
5.Tree algorithms
4 Learn time and space factors of code
Learn the Big-O Notation (Ο) which describes the worst case of the code's working. The factors are:
1.Time: It is used to see the execution speed of time
2.Space: It is used to measure the space consumption of the code.
These complexities are used to measure the time and space efficiencies of the code.
5 Solve coding problems in various sites
There is a need to practice problems in order to master these concepts. For example one can use the practice sets in Geekforgeeks site. There are many other sites like Project Euler, Leetcode, etc. Choose the right one according to your coding comfort and their user interface.
Top comments (0)