Data Structures Decoded: DS Overview

Nicholas Echevarria
2 min readJan 17, 2021
Photo by Markus Spiske on Unsplash

Data structures: the other cornerstone of a competent software engineer. This is why I’m compiling all my research and work on the topic in a series of articles titled Data Structures Decoded.

Today’s article is a special one: it marks the official start of our exploration of the subject!

What is it?

Let’s take a look at what a data structure is according to Wikipedia:

A data structure is a data organization, management, and storage format that enables efficient access and modification.[1][2][3]More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data.[4]

There are tons of data structures, some more common and others incredibly niche. Some of the most common are tools we use as software engineer: the humble array. This data structure is defined by a set of elements in a specific order, typically all of the same type, elements which are accessible with an integer index. This common data structure also comes with its own methods, like .push() and .pop(). Another example is the DOM, which is a tree, another type of data structure.

OK, that’s cool, but why should I care?

Even early on as a software engineer, we’ll have already interacted with and manipulated some data structures, so while it’s easy to feel intimidated by them, don’t be. The more we work with them, the more we’ll understand how different data structures excel at different things and how to choose them.

This journey is important because interviews and entry-level positions as a software engineer value even a peripheral understanding of data structures, including how to identify them, select the best structures for the challenge, and how to implement them using code. Knowledge of data structures also increases the power of your own code as well, so don’t sleep on data structures!

What do you think? If you liked what you read, consider connecting or dropping me a line at nick.echev@gmail.com!

--

--