This article is a precise guide of a roadmap of what to learn and what to skip among the data structure. First, just understand this one very very important thing just because we say data structure and algorithm in just one sentence they are not the same. There should be a pinpoint precise guide for learning data structure and for Algorithms. This one is for the Data Structure.

This guide will help you to understand and pinpoint all the topics that you should learn in the very first go. and have a solid foundation of what to learn and what to skip. Now let’s go ahead and get started with the precise topics on what you should learn and what you can skip.

Table of Contents

## Array

Most Used, Looks easy but can take a little time to master

Starting with data structure number zero which is an Array. Now, this is not an option. This is not an exception. You need to know your array to the best. You should be able to perform all the crud operations on the array. Also you should be able to perform all the search operations in the array as well. As you should know at what point the array is good and at what point the Array is not so good. That’s it, that’s all you need to know. No matter what your language is. You just need to master your arrays. No exception in that.

One more thing I would like to add here is that at this point you just want to master your array bubble sort and all of that these are algorithms. You don’t want to mix them up right here. You are now focusing on the data structure. first algorithms will come up.

## Linked Lists

Singly, Doubly, Circular

Later once you are done with your array the next data structure you want to master is the Linked list. Mostly, a linked list is considered as oh it’s too big it’s too heavy no it is not. It’s just a simple very simple data structure. Some of these languages provide it out of the box. Some don’t so you can just create a class and provide some of the rules that this is how my data structure is going to work.

There is nothing more than that in the linked list. You should be focused on just three things in the linked list. That is the search for the insertion and the deletion. That’s it, that’s all we care about in the very first go. Now obviously in the very first go of learning the data structure you should also focus on the singular doubly linked list and the circular as well. But don’t go into too much of the rabbit hole. You just want to know what are the rules for defining these. That’s all you want to do.

## Stack

Easy and fun to learn

So once you’re done with that then comes the Stack. The reason why I move this stack here is that it’s so much easy to learn. After you have done and messed around with the linked list you need some easier topic. So that’s where the stack comes in. Stack is the easiest one to learn out of all of them. Like last in first out, first in last out, that’s majorly 8 and just the pop and the push. That’s basically it.

There is nothing too much of the dynamic things that are happening around. It’s a really simple one. Now just because it’s the simple one don’t underestimate that. It is so much of important and in fact, a lot of your languages like javascript and a whole lot of other languages also use this internally. You’ll also be using them quite a lot. So don’t underestimate it but yes it’s comparatively easy to learn.

## Queues

Enqueue and Dequeue

Just after the Stack, you want to learn about the Queues. This is where I love things. You’ll be using Queues a lot. In case you are planning to use AWS or some video processing or something you cannot avoid Queues. There are so many out-of-the-box. Queues that are given to you like RabbitMQ and all of them are somewhat implementation of this Queue data structure.

A video goes into the AWS infrastructure. You process it probably. Add some watermark onto that and put that into the folder. This all is happening via the Queue. While learning the Queues you don’t want to go into the rabbit hole of multi-threading and how it works. The basic idea obviously is good but you just want to learn about how to Enqueue or Dequeue. That’s what you should first focus upon.

## Hash Tables

Known with many names: HashSets, HashMaps, HashTables

Moving into the segment of Hash Tables. Now the Hash Table is one of those data structures which is at first glance look easy. But it’s not that easy. You might want to focus a bit more on that.

Now Hash maps are majorly used indirectly pinpointing where the values are stored. These are key-value pairs and in every language they are known with slightly different names but usually, it’s a hashmap, hash table something like that. They’re used heavily in the Database Indexing and you’ll be solving a whole lot of competitive programming problems using this Hash Set, Hash Table, or Hash Map. Whatever you call that.

So this is the next data structure you want to explore. Again don’t go too much into the algorithm rabbit hole. Yet you just want to master what it looks like? how can I access some elements? how can I remove some elements? or something like that.

## Trees

Binary Search Trees

Next, that comes up is the monster of the data structure which is trees. This is where the majority of the people get confused. So here’s my personal recommendation of how to get started and learn about trees.

Just learn about the binary search tree. That’s it you might want to learn about what is a parent node, a left child right child, and how to access them, how to traverse just only on the left side, how to traverse just on the right side? how to traverse on the bread side? how to traverse onto the lens side? You want to really master all of that.

One of the common mistakes that people does is before truly understanding the binary search tree they want to get into fancy trees. Like the red-black tree and all of them. But what you don’t know is the majority of them are actually coming up from this binary search tree. They are somewhere some modified versions of them.

So it is my personal recommendation that you should not go into 10 different types of red-black trees or AVL trees and all of them. That is going to come up in the second round of your learning journey of data structure. Before that, you should be absolutely a master of the binary search tree period.

## Heap

Min Heap and Max Heap

After that is the Heap. If you have focused a lot on the binary search tree the heap is going to take you just probably an hour at max. That’s the power of learning the binary search tree. There are also trips I’m pretty sure you don’t want to go too in-depth. If you are doing any master or wireless expertise which I was doing there you use trips a lot. Otherwise in general I haven’t seen much of them.

## Graphs

Directed Graphs and Undirected Graphs

Finally, you are going to take down the graphs. Now graphs can be as complicated as you want them but you want to focus just on the basics of that. Like how the graph works? what are the vertices indexes and nodes? You also want to learn about what are directed graphs, non-directed graphs, cyclic graphs, and acyclic graphs. Just the basic theory and the basic operation on them.

Surely on the graph, you can spend months and maybe years learning about them. But what i believe truly is that as you do a bit more of the commodity programming. You learn a lot more about the graph which is a much easier way of learning the graphs.

On top of that, I’m super happy that now we have companies right here in India that you don’t have to apply for Google. Go into the google maps division to absolutely master graph. We have companies like Ola, Uber, Zomato, Swiggy, etc. A whole lot of them that are not just solving the graph problem but they are solving graph problems that are on steroids.

So that’s all you want to learn in the very first go of your learning journey of data structure. Surely this journey is going to get a lot of revisions. A lot of new data structures you might want to learn after that but these are the must-have basics that everyone should have.