Roadmap to Learn DSA (Data Structure and Algorithms) from scratch in 5 steps.
The complete process to learn DSA from scratch can be broken into 5 parts:
- Learn a programming language of your choice
- Learn about Time and Space complexities
- Learn the basics of individual Data Structures and Algorithms
- Practice
- Competitive Programming
LEARN AT LEAST ONE PROGRAMMING LANGUAGE
This should be your first step while starting to learn data structure and algorithms.
Firstly, select a language of your choice, be it Java, C, C++, Python, or any other language of your choice. Before learning how to code in that language you should learn about the building pieces of the language: the basic syntax, the data types, variables, operators, conditional statements, loops, functions, etc.
You may also learn the concept of OOP (Object Oriented Programming).
LEARN ABOUT COMPLEXITIES
- Time Complexity: Time complexity is used to measure the amount of time required to execute the code.
- Space Complexity: Space complexity means the amount of space required to execute successfully the functionalities of the code.
The primary motive to use DSA is to solve a problem effectively and efficiently. This is measured by complexities.
LEARN DATA STRUCTURES AND ALGORITHMS
Here comes the most crucial and the most awaited stage of the roadmap for learning data structure and algorithm — the stage where you start learning about DSA.
The topic of DSA consists of two parts:
- Data Structures
- Algorithms
Topics to learn in DSA: Array, String, Linked List, Searching, Sorting, Stack, Queue, Tree, Graph, Recursion, Backtracking, and Dynamic Programming.
PRACTICE
You have learned a lot of data structures and algorithms and now you need a lot of practice.
- Build Projects
- Solve Coding Questions
- Practice more & more
There are so many online platforms available to practice DSA problems from the beginning to the advanced level.
COMPETITIVE PROGRAMMING
Now it is time to test out your skills and efficiency. The best possible way is to compete with others. This will help you find out your position among others and also give you a hint on the areas you are lacking.
There are several online competitive platforms available where you can participate regularly. Also, some online challenges are held from time to time in a year which also provide lots of prizes and opportunities.
BE CONSISTENT
Every monument is built brick by brick by working daily, consistently, and so is the case for DSA.
You must try to learn at least 1 new topic every day and solve at least 1 new problem related to it every day. Making this a practice for each day every day will help you master DSA in the best possible manner.