# Data Structures

• Last Updated : 10 Aug, 2022

## What is Data Structure:

A data structure is a storage that is used to store and organize data. It is a way of arranging data on a computer so that it can be accessed and updated efficiently.

A data structure is not only used for organizing the data. It is also used for processing, retrieving, and storing data. There are different basic and advanced types of data structures that are used in almost every program or software system that has been developed. So we must have good knowledge about data structures.

## Classification of Data Structure:

Classification of Data Structure

• Linear data structure: Data structure in which data elements are arranged sequentially or linearly, where each element is attached to its previous and next adjacent elements, is called a linear data structure.
Examples of linear data structures are array, stack, queue, linked list, etc.
• Static data structure: Static data structure has a fixed memory size. It is easier to access the elements in a static data structure.
An example of this data structure is an array.
• Dynamic data structure: In dynamic data structure, the size is not fixed. It can be randomly updated during the runtime which may be considered efficient concerning the memory (space) complexity of the code.
Examples of this data structure are queue, stack, etc.
• Non-linear data structure: Data structures where data elements are not placed sequentially or linearly are called non-linear data structures. In a non-linear data structure, we can’t traverse all the elements in a single run only.
Examples of non-linear data structures are trees and graphs.

For example, we can store a list of items having the same data-type using the array data structure.

Array Data Structure

This page contains detailed tutorials on different data structures (DS) with topic-wise problems.

Introduction to Data Structures:

Popular types of Data Structures:

Overview:

Stack:

Queue:

Binary Tree:

Binary Search Tree:

Heap:

Hashing:

Graph:

Introduction, DFS and BFS:

Segment Tree:

All Articles on Trie
Binary Indexed Tree:

All Articles on Binary Indexed Tree
Suffix Array and Suffix Tree:

All Articles on Suffix Tree

AVL Tree:

Splay Tree:

B Tree:

Red-Black Tree:

All Articles on Self-Balancing BSTs

K Dimensional Tree:

Others:

Recent Articles on Advanced Data Structures.

Array:

Matrix:

Misc:

### DSA – Self Paced Course

Master DSA’s most popular course at the best price possible, trusted by over 75000+ students! Curated by experts having years of industry expertise, you will master all of the major topics of data structures and algorithms like as sorting, strings, heaps, DP, searching, trees, and more, as well as practise these concepts on real-world projects. Prepare for SDE interviews with big tech giants like Microsoft, Amazon, and Adobe, as well as other top product-based companies. Enrol now!

### Complete Interview Preparation

An enriching course designed by the experts to help you crack the coding interview of top product or service-based organizations. Get 200+ algorithmic coding problems, premium lecture videos, subject-wise theoretical content, lifetime access, and much more. Here you’ll get prepared for each and every subject & skill relevant to the interview whether it be core CS subjects, programming language, reasoning & aptitude, resume building, etc.

### Live Courses

Get best-in-industry real-time GFG Live Courses to upskill yourself and get into your dream company. You can attend these live classes from any geographical location and here you can ask your doubts to the instructor just like an offline classroom program. Do check out these worthwhile Live Courses by GeeksforGeeks – System Design Live, Competitive Programming Live, and more!

My Personal Notes arrow_drop_up