Img source: Andrew.cmu.edu

Img source: Andrew.cmu.edu

No matter whether you are developing a simple application helping your grandmother quickly text her daughter, or a complex enterprise application, it is highly likely that you will use some sort of data structure. Data structure are not only a very good way of storing and organizing data, but they are also a standardized way of managing data properly.  It is crucial for a software developer to know data structure, and also when to use a particular type of them when trying to solve a problem. With the correct data structure, the developer should not only have the means to solve the problem effectively, but also efficiently. In this article, you can see a data structure usage compass, intended more for Java Developers.

The image displayed below shows a general representation of a flow for choosing the right data structure for the right scenario that one might need. The questions mentioned below are some of the most frequent ones that are asked when trying to decide which data structure to use, whether we ask them verbally or not.

This resource might be very helpful especially for those have just started learning data structures. I want to emphasize that it might not be sufficient to use it as the sole source of your learning about data structure. It can be used more about deepening the understanding about them and also having a general picture about different types that exist and some basic reasons for their existence.

data-structure-diagram-flow

This diagram can also be used as a refresher for those that have had a lot of experience using data structure. They might not have the time to read an entire book about data structure to help their recall process for a few things that they might have been forgotten. Having a quick reference for guidance might be very beneficial, especially in such cases.

I saw the this diagram flow included in a Pluralsight course about Java Collections Framework held by Richard Warburton. I liked it so much that I decided to write an article about it, sharing with you this potentially helpful resource. I hope you like and find it helpful.

I wish you happy learning.