Meant for people who are beginners and people who are facing difficulty to become good at data structure and algorithms. Problem links at top of the class. Complete few simple questions that are here and you will be confident. Then it depends on you where you want to take your skill level, but you won't find anything beyond reach after doing these simple questions. Remember repetition is key to success so do these questions as many times as you can, at least five times.
Start in this way:-
- Search a. LinearSearch b. BinarySearch
- Sort(You might face difficulty if you are beginner but complete it don't give up, it will help to solve many problems in future easily. Understand any one from quick, merge or heap sort and you will understand all of them easily. Spend as much time as it takes to understand one of them,it doesn't matter even if it takes weeks, try yourself, discuss with friends, watch on youtube, debug it. Do everything you can but make sure to do it.)
- Arrays
- Strings
- LinkedList
- Tree (Do AllPossibleBst and AllPossibleBstCount after doing Dynamic programming)
- DP(Dynamic programming at last, spend days/weeks to get recursive solution. Once you get good at writing recursive solution, then think about storing results in tables. Tough part is writing recursive solution. Spend time try yourself, discuss with friends. If you are not able to write in first attempt, then copy code do dry run and debug, draw recursion diagram on paper. Initially it will be difficult, but in your second or third attempt on problems you will begin to understand patterns. Then it will be easy for you.) a. LongestCommonSubsequence b. CoinChange c. LongestIncreasingSubsequence d. MinCoin e. solve rest in any order