Since, I am a Fresher student who is in their learning journey and DSA is one of the important part of it. everyone Has to go with it.
But, You got lot of advice online you should do this or that thing to go with it. Which is good but Also confusing at the same time.
Many students go with Brute force approach and grind all day to learn the DSA. Generally doing leet code or hacker rank 300 plus questions. But as a lazy guy. i try to find the good way to do this thing, And i know i am not the only one doing this way. But this whole idea is mostly generated by me and ai.
And i am just in Testing phase So you can advice me to grow and doing the dsa in the simplest way. Here i explain my plan with my thought process.
Plan:
There is a Law in nature. Which is famously called 80/20 Principle. which say _ roughly 80% of results come from 20% of causes or efforts. _ Using this i came to conclusion that their is mostly 6 to 8 data structure and 15 to 20 Algorithms is motly asked in companies and generally used in real life most of the time.
The purpose, Why companies ask DSA ? Answer: to test ability of candidate, to solve and write optimised, scalable programs under constrains. which includes you ability to translate the solution into program, thinking process, pattern Recognition and problem solving skills. This clear my approach how to deal with dsa.
Then resources simple Neetcode 150, Striver A2Z DSA Sheet (created by Raj Vikramaditya on his platform takeUforward) for roadmap Contain those algorithm which i say just for tracking purpose, youtube channels which explain me from first order like how behave in memory,pros,cons,tradeoff,etc.
The programming language: See my core stack is javascript because i do most of the coding in it. but for the dsa i want something strategic which help me the most and i also enough coding in it. because as we know javascript is bit unpredictable... I don't think , But python provides very less syntax overhead, enough resources,phycologically fast readablity,etc. i choose this. also this is my second best programming language because first is javascript.
Process:
Learn Time and space Complexity, as much as i can tell by seeing any algorithm that this is time and space complexity of it.
take data structure and Do the CRUD operation. why? Because in programming language you initially don't know how to create those data structure like except array no one know how to make linked list in python or may be tree.
Instantly, prepare for the algorithm for that data structure specific. like i choose array then i also learn its algorithm from those 15 to 20 before going to next data structure, because the knowledge is fresh in your mind currently
Do the Neet code 150 questions on that algorithm specific, and also if possible i record my thought process of solving the things or approaching problem if it is Convenient or get me advantage this is test phase.
When i am satisfied, i am able to solve the problem then move to next data structure and repeate the loop. The main goal is to build understanding, thinking,knowledge and use them properly. The whole plan takes 5 to 8 loops depend on the data structure and may be 1 or 3 month i guess. Depend on ability to learn.
See, i make this plan as per my knowledge and understanding level their is definately a problems in this i am open to update and change in it and May be this thing help someone to learn and grow. i can just do my work properly that's it. i am currently starting the journey not sure what will come forward i am in third year of my degree of Bsc IT.
Top comments (0)