These days most people are trying to learn new technologies, and a very few wants to stick to the foundation. Yes! I am talking about Data Structure and Algorithm (DSA) – the most basic skill to learn any software technology. It is a misconception that coding is all about learning new languages, new libraries, frameworks and even new tools. I suggest you to not fall in this trap. Coding is about building an efficient logic, which can be achieved with help of Data Structure and Algorithm.
I can still remember when it seemed that everything in my life was falling apart and that I could not do any good with the career I chose. I would clear the coding rounds of every company that I was eligible for, but would fail miserably in the interviews that followed. This went on for a while and I started questioning myself.
I introspected and asked myself, am I really bad at what I’m trying to do, or I lack at some area I don’t even know…
After further introspecting and talking with seniors and colleagues I finally got my answer. It was simple. I was little to not acquainted with Data Structures. That in turn resulted in my lack of confidence in the interviews. I soon corrected my mistake, learnt about Data Structures as best I could and an interview no longer seemed to be a daunting task.
So, here are some tips to boost your Data Structure and Algorithm (DSA) skills –
1. Spend time on theory
First mistake people do is they do not focus on theory, like they know the steps of code but don’t know what is happening and how it is working in the background?
As a beginner, you must not be afraid of spending too much time reading. What you must keep in mind is to understand every line. Because “DSA is not a language, it is a concept”.
Best approach to improve your theory knowledge is to take paper and try to draw flow chart while reading. This will help you to remember steps and concept as well.
2. Divide & Conquer
Now a lot of you cannot write data structure code only because you get nervous by just seeing the size of that problem statement.
A divide and conquer rule is a strategy of solving a large problem by
- breaking the problem into smaller sub-problems
- solving the sub-problems, and
- combining them to get the desired output.
For example – You have to write a code for a doctor application where among all the patients only the first 4 will show, and the doctor has to press a button so see the next 4 patients , then probably you will not do it, because it sounds complex, now If I say write a program which will return first 4 numbers then second 4 numbers and so on then you might do it because it looks simpler. This is what I am trying to say If you just divide your problem into subproblems and try to fix that then you might be able to write the code.
3. Choose one
Get into one boat and stay in it. Don’t step in multiple boats at once. It will only result in a fall. Explore a few sources, choose one and stick to it.
You can consider taking one of the innumerable courses available on the internet. I will recommend you to learn from YouTube.
Here is the list of best YouTube channel to learn DSA –
- Abdul Bari
- Harvard University
- Neso Academy
- Apni kasha
- MIT opencourseware
4. Time Management
Try to devote at least two hour time daily. Divide it into two slots of 1 hour each.
Use first 1 hour 15 min to learn a new DSA concept every day. But remember, source should be same everyday. Do not try to learn from different sources otherwise you may get confused.
Utilize the next 45 minutes solving the problems based on concept learned earlier that day. And, after submitting the code, look solutions of others to know how to improve the code to optimize the time & memory complexities if possible.
Note – Spend more time on reading and understanding to get clarity.
Last step is very important i.e. consistency. Consistency is what increases your capacity. It’s not about just doing it. Its about how regular you do it.
That’s why It is necessary that even you are good in DSA, you practice it daily. The best way to keep in touch with DSA is competitive programming. This way you will keep getting better at it which will assist you in cracking the interviews.
Best websites to practice DSA –
So, that’s it for today. Follow all the steps and crack the interviews easily. Thank you for reading.
Written by –
DSA Skills DSA Skills DSA Skills DSA Skills