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
- switch on the stove
- keep bowl on the stove
- add milk and sugar and teapowder
- wait for few minutes
- 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
Top comments (0)