About author of this RoadMap : Kumar K , hails from a tier4 college , was weak in academics but cracked MAANG after graduating from college , achieves all India Rank 10 on Hackerearth in DSA , 6 stars on Codechef and successfully mentored 150 students personally out of which 50 students got 10+LPA Packages and 10+ got 30+LPA packages . Most of his students belonged from service based companies or tierless colleges.
850 hour DSA + OA + CP + Fullstack Dev + System Design course by Kumar K - https://training.desiqna.in
Steps :
0)Don't ever directly jump to DSA. Make sure you are good with basics and fundamentals of programming(loops && conditions) and good with at least one of these programming languages. (C++/Java/Python)
0.5)If you are java person do this - https://youtube.com/playlist?list=PLlhM4lkb2sEiScGRZEHkHsI1ncXKLq5Zp
If you are C++ person do this - https://youtube.com/playlist?list=PL7ersPsTyYt2prN058WfA_j3ElgwD1bht
1)To do the above(further strengthening of fundamentals) , you may solve 30 - 40 problems from this list prepared by me from HackerRank : https://www.hackerrank.com/domains/algorithms?filters[status][]=unsolved&filters[skills][]=Problem%20Solving%20(Basic)&filters[difficulty][]=easy&filters[subdomains][]=warmup&filters[subdomains][]=implementation&filters[subdomains][]=strings&filters[subdomains][]=arrays-and-sorting&filters[subdomains][]=search&filters[subdomains][]=greedy&filters[subdomains][]=dynamic-programming&badge_type=problem-solving .
Before doing this list , make sure you do basics of either of one of these programming languages : (Java/C++/Python) and step 0.5
1.2)If you are using C++ , learn STL from here : https://www.hackerearth.com/practice/notes/standard-template-library/
For Java , learn collections fro here :
VIDEO
2)For each and every problem which you are trying to solve on HackerRank , LeetCode or GeeksforGeeks , solution is always there in editorial/tutorial section and make sure to read the discuss/comments section as many people have shared their approaches/solutions in them.
3)Whenever you learn some new algorithm or trick , learn to document it in a file/google doc/diary , it is important to go through this on a weekly basis so all ideas stay fresh in your mind.
4) While doing preparation on your DSA journey , go topic-wise which I have mentioned in this diagram :
5)Do the topics in the order mentioned in the above diagram.
6)For each of these topics , do : i)Learn theory from good resources and videos. ii)First solve 20-30 popular and standard problems on the topic , then try 20-30 problems on the topic which are not standard or conventional . You may skip the later part if you are not aiming for the very top companies.
7)This is the secret formula to gain mastery over DSA. You can know about it in more depth here : https://www.desiqna.in/5342/best-way-to-prepare-data-structures-and-algorithms-kumar-k
8)For all the topics above , Desi QnA team will be adding the best resources / videos and problems to practice very soon. Revision and contest tactics will be added soon too. :)
9)For now , the resources on first few topics are out :
i)Hashing : https://www.desiqna.in/4956/hashing-tutorials-for-dsa-launched-by-desi-qna
ii)Two-Pointers : https://www.desiqna.in/4914/best-roadmap-prepare-pointers-coding-interviews-2022-desiqna
iii)Sliding-Window :https://www.desiqna.in/4982/roadmap-prepare-sliding-window-coding-interviews-desiqna
iv)Linked List : https://www.desiqna.in/5532/best-roadmap-prepare-linked-coding-interviews-kumar-desiqna
v)Binary Tree :
https://www.desiqna.in/6865/best-roadmap-prepare-binary-coding-interviews-kumar-desiqna
Bonus : (Dynamic-Programming also available for folks who might want to have a look!!) : https://www.desiqna.in/dynamic-programming
10)My algorithms group on telegram : https://t.me/chillzxa && https://t.me/algorithms4
11)My Jobs group on telegram : https://t.me/jobxx
All problems mentioned , try to submit them and test them on leetcode , as leetcode is the best platform and it also adds good weightage to resume when you have good amount of problems solved on leetcode