**Overview :**

- What is Data Structure?
- Why we need Data Structure?
- Primitive Data Structure
- non- primitive Data Structure
- Linear Data Structure
- Non-linear Data Structure
- Array
- Linked list
- Stack
- Queue
- Trees
- Graphs

Youtube Video link:

https://www.youtube.com/watch?v=xmjyxHghBxw&t=109s

**What is Data Structure? :**

- A Data Structure is a specialized format for organizing and storing data.
- In other words, data structure provides techniques to access and perform various operations to manipulate data efficiently.

**Types of Data Structure:**

**Primitive Data Structure:**

Primitive Data Structures are those which are predefined way of storing data by the system.

Example: int , float , double,Boolean, char etc.

**Non-
Primitive Data Structure:**

The Data types are derived from primary data types known as non-primitive data types.

Examples: Arrays, Structure, Union, Linked list, Stack, Queue.

**Linear
Data Structure: **

In the linear data structure, the data items are arranged in a linear sequence.

Example: Array.

**Non- linear Data Structure: **

In the non-linear data structure, the data items are not in sequence.

Example: Tree, Graph

**Array : **

An array is a collection of items stored at contiguous memory locations. The idea is to store multiple items of the same type together.

• An Array is stored such that the position of each element can be computed from its index tuple by a mathematical formula.

• Typically elements of an array are all of the same type.

• While displaying the results, the program will output one element of the array at a time.

• Array can be multi-dimensional.

**Linked lists:**

** ** A linked list consists of a group of nodes which together represent a sequence.

• Each node contains two things: The actual data being stored( Which can bebasically any types of data) and a pointer(or link) to the next node in thesequence.

• There are basically 3 types of Linked lists-

i) Singly Linked list

ii) Circular linked list

iii) Doubly linked list

**Singly Linked list:**

In a singly linked list, Each node in thelist stores the contents and a pointer or reference to the next node in thelist.

• It doesn’t store any pointer or reference to the previous node.

• To store a single linked list, only the reference or pointer to the first node in that list must be stored.

• The last node in a single linked list points to nothing.

**Circular Linked List:**

A circular linked list is a linked list in which the last node points to the head or front node making the data structure to look like a circle.

**Doubly Linked List:**

Doubly linked list contains an extra pointer, typically called previous pointer, together with next pointer and data which are there in singly linked list.

**Stack: **

A stack is a container of objects that are inserted and removed according to the Last-in-First-Out (LIFO) principle.

**Queue:**

Queue is an ordered collection of items where the addition of new items happens at one end. So, it follows the First-In-First-Out (FIFO) principles.

**Tree:**

A tree is a data structure made up ofnodes or vertices and edges without having any cycle.

• The nodes are connected with edges in a tree.

• A tree can be empty with no nodes or a tree is structure consisting of one node called root and zero or one or more sub trees.

**Graphs: **

A set of items connected by edges. Each item is called a vertex or node.

Formally, a graph is a set of vertices and binary relation between vertices, adjacency.

So, that’s it for this time. In the next blogs, we will discuss these topics elaborately.