Key Points to keep in mind to master DSA
1. Spaced Repetition:
A most common question anyone faces is: “I solved a number of questions but still cannot solve them after 7 – 10 days. How can I remember them?“.
The first and foremost answer to this is Not to try to remember the codes. The solution lies in practice and spaced repetition.
Spaced repetition is a method to fully learn something by recalling and reviewing the concepts in particular time intervals until you learn the concepts completely.
As seen the best time intervals will be to solve the problem again in a couple of days, then in 7-10 days and then in a month. It will help you to develop the habit of revising any topic at a proper time interval.It is always noticed that if you are revising concepts on spaced repetition so that’s make your concepts more and more well built and clear.
2. Practice more and more:
By now you are equipped with basic data structures and algorithms. Now the most important thing is your speed and efficiency i.e. how quickly you can find out the optimal solution and minimize the error in your approach.
As with any other work, the only way for this is also to “practice, practice and practice”. You can practice them in several online platforms for practicing problems. Also, you can participate in real-time challenges held time-to-time.
Some of the coding challenges that can help you achieve this are:
- One problem each day of varying difficulty: Problem Of The Day (POTD).
- Choose a problem on your own for any particular topic: Practice Problems based on specific Data Structures or Algorithms
3. Solve a variety of problems:
Now it is time to increase the size of your arsenal. As you have mastered a handful of data structures and algorithms, let’s venture out to solve problems of varying difficulty and topics.
It will help you in two ways.
- As the problems are not bound by categories, it will increase the pool of your data structures and algorithms through exposure to unknown algorithms. This time you will not require to code all the problems as you have already solved and programmed so many other problems.
- This will also boost your thinking capacity and you will come to know about the applications of different algorithms.
You can also refer to below links to practice problems in its respective difficulties:
You can also try from our curated lists of problems from below articles:
4. Participate in Coding Challenges:
A good amount of time is dedicated by now and you have also learned a lot. But have you reached your goal of mastering DSA – the reason behind your learning data structures and algorithms?
The only way to get the answer is by checking yourself out against other enthusiasts and original masters of DSA. There is hardly any other solution to this that is better than participating in some competitive coding challenges to gauge your ability. It will increase your coding speed and widen your view of how a problem can have so many varieties of approaches and also it helps you to be familiar with the interview environment because in interview you have time bound so by giving contests repeatedly to your on the path of boost your problem solving skills.
Also upsolving the contest is very much essential help building your concepts more robust. So must remember always solve the problems that you don’t able to solve in the contest.
5. Try solving Interview questions:
Though you have done almost everything, there is always room for improvement. Let us assume you are a consistent performer in real-time coding challenges and showing great results in that. Still, it is possible that you are not always finding out the most optimal solution to a problem, because competitive coding does not always require the most efficient approach.
There solving interview questions can prove handy. It is a natural practice in interviews to seek the most optimal approach. Now, by exposing yourself to interview questions you will become efficient day by day and also get prepared for interviews.
You can also try to solve the most asked interview questions based on the list curated by us at:
How to Start Learning DSA?
In the journey of programming, every programmer comes across a point where they want to solve a problem in a more efficient way. While finding a way out of this, they eventually come to know about the term DSA. Now before jumping on how to start learning DSA, let us first know what the term DSA actually means.
Table of Contents
- DSA Full Form
- What is Data Structure?
- What is Algorithm?
- Why should you learn Data Structure and Algorithm?
- 5 Steps to start learning DSA
- Getting to Know the Topics
- 1) Data Structure
- 2) Algorithms
- Finding the best resources for learning DSA
- Learn the fundamentals of DSA properly
- Master Data Structures and Algorithms one by one
- Consistency is the key
- Getting to Know the Topics
- Key Points to keep in mind to Master DSA
- Spaced Repetition
- Practice more and more
- Solve a variety of problems
- Participate in coding challenges
- Try solving interview questions
- How long does it take to learn Data Structures and Algorithms?
- How to be good at Data Structure and Algorithms?
- What are the best resources?
- What are the best platforms?
- Conclusion
DSA Full Form: The Full form of DSA is Data Structures and Algorithms. As the name itself suggests, it is a combination of two separate yet interrelated topics – Data Structure and Algorithms.
In this journey to acquire a good grasp of DSA and become efficient in it, every programmer faces a big challenge “How to start learning DSA?”. In this article, we will be focusing on everything about DSA and how to begin your journey of DSA from scratch.