# So What’s a Data Structure? Understanding data structures

If you found yourself on this blog then you’re probably just started learning about data structures. In this blog we’ll go over what a Data Structure is and what are its uses.

# Data Structure

Coders utilize data structures as a way to store and organize data so that later, data in an app can be used efficiently. Basically it’s a group of data elements that provides an efficient way of storing and organizing data quickly.

Some examples of Data Structures are

- Array
- Linked List
- Stack
- Queue
- Tree

# Using a Data Structure

If you are a software engineer or currently learning computer science odds are you’ve used or will use data structures. The following are some cases we use data structures

- Operating System (OS)
- Compiler Design
- Graphics and Artificial Intelligence (AI) and
- Neural Network

There are two types of data structures, Primitive data structures and Non-primitive data structures.

# Primitive Data Structures

Primitive data structures operate directly upon machine instructions. They are used to create non-primitive data structures such as Integer, Floating point numbers, character constant, String constant and Pointers.

# Non-Primitive Data Structures

This type of data structure is derived from Primitive Data Structures, such as Arrays, Linked List, Stack, Queue and Tree.

We can further divide** Non-Primitive Data Structures **in two categories

- Linear Data Structure
- Non-Linear Data Structure

# Linear Data Structure

In the Linear Data Structure, the elements are stored non-hierarchical, which means each element has a successor and predecessor, not including the first and last element. It is important to note that Linear Data Structure are divided into two parts ‘**Static**’ and ‘**Dynamic**’

# Static Data Structure

A Static Data Structure can not be changed once you have declared the size during program variable initialization or declaration. Static Data Structures are arrays.

# Dynamic Data Structure

Dynamic Data Structure the opposite of static basically means we are allowed change the size or extend the storage elements. Dynamic Data Structures are Linked List, Stack and Queue.

# Non-Linear Data Structure

As for the Non-Linear Data Structure the elements are stored in a hierarchical way they are not stored linearly in the memory. The Data Structure that fall in this category are the **Tree** and **Graph**.

This is just the beginning of data structures. In this blog we’re just scarping the surface. I hope I was able to give you a little insight on data structures. Good luck in all your future studies!!