DATA STRUCTURES
Tags: beginners, programming, algorithms, softwaredevelopment
Published: 2023-08-25 09:16:27

I’ll start off by introducing a series of topics including Data structure, Algorithms, and Programming Paradigms; as we know they are the fundamentals of programming and computer science. While being a tech enthusiast (or nerd or a geek..lol) for about a demi decade, I’ve come to learn how important these things come really important in the learning journey, especially in my journey as a developer. I’m keen to share with everyone what I've learned through my revived love for writing and I also seek to gain knowledge in writing & research, so here goes the first part of the series which is about data structures.

**_What is Data Structure?_**

According to Wikipedia Data Structure 

> is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data.

 In layman's terms, data structure is a particular method in which data is stored and organized for example stacks, trees, and graphs, and through each of these unique methods it determines how the data can be manipulated to produce the acquired results we expect from the computer ( this manipulation includes data processing and data retrieval). Having knowledge of data structures is super useful when handling datasets.

**What Are The Examples Of Data Structures?**

There are several examples of data structures for example:

      1) Arrays
      2) Stacks
      3) Linked List
      4) Queues
      5) Trees
      6) Graphs
      7) Matrix

They are still a lot of them but I’ll be discussing the first five 💫 .

_But before I discuss them, each of the five would be divided based on their natural formation/classifications._

**_Do Data Structures really exist in a particular Arrangement / Formation?_**

Yes, they do. Data Structures are classified into two different arrangements✌🏾:

1. Linear Data Structure: These are data structures in which each data element is organized in a linear order/fashion whereby each data element is connected to the previous element and the next elements. Examples of linear data structures include Arrays, Stacks, Linked lists, and queues.

2. Non-Linear Data Structure: These are data structures in which each data element is organized in a non-linear order. For Example trees, graphs, matrix.

_Now that we understand the classifications let's discuss more about the members of the linear data structure:_

A) Arrays: This is a data structure where data elements are stored in a linear collection and each element can be located using a process called indexing. Due to the nature of arrays, they have static (linear) data structure properties. This is due to the fact that arrays have a fixed memory size which means once a size has been allocated to the memory it can’t be changed. A real-world example of where arrays are commonly used is in Data Mining, A data-driven sector relies on arrays due to their ability to be able to accommodate large datasets and are also very efficient when it comes to memory management and their access speed which is optimized for performance.

B) Stack: A stack is also a linear collection which data in which the data elements are placed over another data element. Data elements are arranged linearly in a First In Last Out Structure (FILO). This data structure supports the addition and removal of data items which makes them dynamic linear data structures rather than static data structures. A real-world application of where stacks are used is in the use of Call history on the phone, where the older phone calls appear below compared to the most recent phone calls.

C) Queue: Queues are also similar in terms of linear structure to stacks but the data elements are arranged in a First In First Out (FIFO) manner. They also share similar attributes where they are both involved in the addition and removal of data items which makes them dynamic.  A real-world application where queues are used is in task scheduling in the CPU.CPU functions on a first come first serve basis where they handle tasks such as processes, threads, or jobs. Each process is placed on a queue which helps in organizing and executing a task efficiently.

D) Linked List: A linked list is defined as a series of nodes connected to other nodes. Each node has two properties which are data and the memory address/ pointers to the next node. Linked lists are also Dynamic in Nature. It’s used in graphs when graphing out vertices.

_Under the non-linear Data structure, we have:_

1. Trees: Trees are a hierarchical structure that can occur as a data element represented by a node and each node has a parent node and a possible child node linked to it. Trees are commonly used as each node is connected to the other by the ‘Edges’. A real-world application where trees are commonly used is the file system where each file/folder has a parent (root directory) and the parent has children, and the children could possibly have more children depending on how the files/folders are being managed.

In summary of what has all been said, understanding these fundamental components. They impact every aspect of technology, streamlining data storage and accelerating efficiency. The next time you arrange your files, send a message or conduct a search, keep in mind that the complex universe of data structures that lies behind these acts is profoundly influencing our technological landscape. Data structures are the unseen heroes of the digital.

Hope this helps 😉.
Don't forget to like my post 😁💗 and If you have any feedback or questions, don't hesitate to comment below, let's brainstorm together.