How to Kick start DSA?
Tags: dsa, algorithms, datastructure, coding
Published: 2023-06-29 09:50:14

As programmers we are all came accross on solving many problems but we usually struck at writing optimum code in order to use less resources like time and space, In searching how to write a optimum code we end up listening DSA.

**what is dsa?**

**dsa** full form is _datastructures and algorithms_ .
in the name itself we see that two titles but these are connected to each other
**Datastructures:**
Datastructures are used to store and organise the data in an efficient manner so that we can access them efficiently or effectively , by using datastructures we can reduce the resource usage by our code which makes code more readable.

**Algorithms**
Algorithm is a set of instructions executed in a step-by-step manner in oreder to complete a task, Algorithm can be expressed in natural language, flowchart,or by psudocode,
there are different types of algorithms to solve different tasks,algorithm contains finite number of instructions

**Why to Learn DSA?**
before moving to the main topic that is How to Kick start DSA we need to discuss Why to learn DSA.
Many techies used to think that there is no need of learning datastructures and algorithms if you are one of them then you need to understand that learning dsa will enable us to write _optimum code_,it also improves our problem skills, and mostly nowadays companies are looking for programmers who has proficient knowledge on dsa.
apart from tech-industries datastructures and algorithms are also used in our daily life from making a TEA to DRIVING A CAR 
for example if we want to make a tea what are the steps included in it 

1. switch on the stove
2. keep bowl on the stove
3. add milk and sugar and teapowder
4. wait for few minutes 
5. tea is ready

from the above example we followed few steps in order these step-by-step set of instructions are called algorithm 
and bowl,stove,sugar,teapowder are datasturctures 

**How to Kick start DSA**
Now we move to the main topic that is How to Kick start DSA
In this article i have tried to explain How to Kick start DSA as simple as i can so that you can understand clearly.

**1.Select a Programming language**
 First and formost thing you need to have a basic knowledge on any one programming language ,as we know DSA  is a theory but inorder to understand it practically and remember long time then we need to execute it , it is only possible if you have a decent knowledge on any one programming language ,
It is not that you need to be perfect in that language but you need to understand basics like

- datatypes
- conditional statements
- loops
- functions
- oops...

**2.Learn time and space complixities**
Time complixity: the amount of time taken by the algorithm as a function of length of input 
space complixity: The amount of memory space used by the algorithm/program or total memory space used by variable in program

**3.Learn basic Datastructures and Algorithma**
**Learn the basic Algorithms like**
searching
    _binary search_
sorting
   _quick sort 
   bubble sort
   merg sort_ 
**Learn basic Datastructures like**
_Arrays
Strings
Linkedlists_

**4.Practice practice practice**
Dont just keep learning things it dosent make any sence because at some point you will forget the topic that you have learned before 
so the best way to master the DSA is to practice.
> there is proverb called _practice makes man perfect_
this proverb exactly suits to DSA

There are many sites to practice DSA which gives you push start 
like.
Leetcode
Codechef
Geeks-for-Geeks
Codeforces
Hackerrank
etc.....
you can visit this sites and register yourself and start practicing.

**5.Learn Advanced Dsa**
After practicing problems on basic DSA you need to move on learning advance datastructures and algorithms, it may takes a long time to understanding but trust me once you get its roots you will play with the question

> _Hardwork+practice+consistancy=DSA_