Table of contents
No headings in the article.
I have chosen to write on this topic as I have a keen interest in Data Structures and Algorithms and I have also learnt a lot about them. DSA isn't a topic but more of a journey dealing with your problem-solving skills and building the best out of your brain. It starts with the basics when you don't know anything about programming rising to everything you ever want to achieve from your brain. It will make you think like no other and would force you to do something you always imagined too. There are numerous resources and platforms available to practice but today I will be listing certain steps that you should follow to master the art of DSA. But before starting, remember practice is a key to success.
- Learn a programming language
- Learn about time and space complexities
- Learn about Array, Matrix and String
- Learn about STL(Standard Template Library), if doing it in C++
- Time for calling itself, again and again, that's Recursion
- Do Linked List
- Time to push data into the stack
- Follow stack's sister, that's a Queue
- Backtracking - I call it advance recursion
- Tree - Not the one you see every day
- Graph - You're not going to plot every time
- Heap/Priority_Queue - Take it on priority
- Trie - Advancing your concepts
- Dynamic Programming - Time for the end game. You'll hate it but then, you'll love it.
Last but not the least, practice, practice and practice...