Data Structures and Algorithms, the ultimate gameplan!

Data Structures and Algorithms, the ultimate gameplan!

Introduction

For a long time, I was procrastinating on learning DSA, solving questions, and preparing for interviews, but eventually, I built a system and a roadmap that would make me consistent with doing DSA and progressing through the journey.

I have been through the days where I would solve 2-3 questions and learn for hours, but also the days where I would not do anything. I felt that DSA was just not for me and I should probably go all in Development and stuff, but trust me, it is a very impressive skill set when it comes to problem-solving.

In this blog, I will share my ultimate game plan for mastering data structures and algorithms. Whether you're a beginner or an experienced developer, this guide will help you build a strong foundation in DSA and hone your problem-solving skills, which are highly sought-after by product-based companies.

Many companies ask DSA-related questions in their interviews and judge your problem-solving skills based on the same. So, by mastering DSA, you'll not only gain an impressive skill set but also increase your chances of acing coding interviews.

Moreover, I've already shared a Twitter thread on this topic, which garnered over 500 likes! So, sit back, relax, and get ready to learn the game plan that will make you 100% clear on what to do to master DSA, without the need for any other guidance.

Sorry for the long intro, let's go:

The 3 pillars of my system:

  1. Roadmap

  2. Goal setting

  3. Slow progress

I will try my best to explain every step in simple words and get you to plan your strategy to stay consistent and progress, let's get started:

1. Roadmap

When starting with learning Data Structures and Algorithms, I found myself jumping around between various topics in C++, dabbling in some data structures, and attempting to solve a few problems here and there. It wasn't until I discovered the importance of having a roadmap that I truly began to make progress.

While some may view following a predetermined roadmap as a negative practice, I believe that with vast topics such as DSA, a systematic approach is necessary to avoid failure or falling off track. However, it's important to note that even with a roadmap, success is not guaranteed and you may still encounter roadblocks along the way.

Nonetheless, having a roadmap can provide a sense of direction and allow you to visually track your progress, which can be incredibly motivating.

Following a ready-made roadmap is often considered a bad practice, but in my opinion, vast topics like Data Structures and Algorithms, need to be approached through a systematic approach or you are bound to fail or fall off-track.

But here's the twist, there is absolutely no guarantee that you will succeed following a roadmap and get ahead without getting stuck. Sure, you will have something to chase and will visually see your progress, but not always!

This brings me to the next point of our discussion, how to set goals that will get you to progress?

2. Goal Setting

Everything you do, whether or not it is related to DSA or coding, should be with a pre-determined goal.

If you don't know where you are heading, you'll always have a brain fog about whether you are progressing or not.

This is a system I use to set my own goals in DSA:

  1. Monthly Targets (concepts and questions)

  2. Weekly list to complete the monthly goals

  3. To-do list daily based on the weekly list I made!

This simple technique will induce clarity about what you want to do every day, week, and month, honestly, this can be applied to any aspect of your life.

Having a pre-determined goal is crucial for success not just in DSA or coding, but also in other areas of life. Without a clear goal in mind, it's easy to get lost in the process and feel like you're not making any progress.

That's why the system of setting monthly targets, weekly lists, and daily to-do lists is so effective. It provides clarity and direction and helps you stay focused on what you need to achieve. By breaking down your goals into smaller, manageable tasks, you can avoid feeling overwhelmed and stay motivated throughout the process. So, whether you're trying to learn a new skill, improve your health, or achieve any other goal, setting a clear plan of action is key to success.

3. Slow Progress

Last, but not least. Progressing at a very fast rate will eventually burn you out and throw you into the loop of procrastination and inconsistency. What to do then?

Small steps at a time.

There will come a time when you are at your best, being consistent, solving problems daily, and learning concepts, and then, boom! You'll slip off.

Progressing at a very fast rate will eventually burn you out and throw you into the loop of procrastination and inconsistency.

What to do then? Small steps at a time. There will come a time when you are at your best, being consistent, solving problems daily, and learning concepts, and then, boom! You'll slip off. To avoid this no matter how good you feel about studying and progressing, taking small steps at a time is key if you think about the long term.

Conclusion

In conclusion, to master data structures and algorithms, it is essential to have a systematic approach and a clear plan of action. Setting goals and breaking them down into smaller, manageable tasks can help you stay focused and motivated. However, it's important to avoid burning out by taking small steps at a time and not progressing too fast.

By following these three pillars - roadmap, goal setting, and slow progress - you can build a strong foundation in DSA and hone your problem-solving skills, which are highly sought-after by product-based companies.

I hope this blog could provide you value and get a clear idea of what to follow and do next, let's meet next time, until then, connect with me on Twitter:

My Account

Did you find this article valuable?

Support Atharva by becoming a sponsor. Any amount is appreciated!