Data Structure

A data structure is a way to organize the collection of related data elements in such a manner that it should be accessed, modified and place it back after the operation efficiently and in relatively small amount of time.

Data structures is the basis for abstract data types (ADT). Abstract Data Type is logical form of the data type and data structure implements the physical form of the data type.

There are many different type of data structures defined to manage different type of data efficiently. Not all data structure is suitable for all kind of data, selecting which structure suits the requirement depends on many factors like amount of data, how they are arranged, accessibility, time, some are highly specialized to specific tasks and many more.

For example, searching a data in sorted elements less time (log n), while unsorted may take (n = number of elements).

This Data Structure tutorial includes Array, Pointer, tree, hashing, Structure, Linked List, Stack, Queue, Graph, heap, graphs etc.

Data Structures Topics

  • Array
  • Matrix
  • Linked List
  • Stack
  • Queue
  • Binary Tree
  • Binary Search Tree
  • Heap
  • Hashing
  • Graph


  1. Linear Data Structures
  2. Non- Linear Data Structure
  3. Binary Tree
  4. Binary Search Tree
  1. Heap
  2. Hash
  3. Graph
  4. Abstract Data Types


  1. Write a program to Search, insert and delete in an unsorted array
  2. Write a program to Search, insert and delete in a sorted array
  3. Write a program to reverse an array
  4. Find the Missing Number
  5. Find Median of two sorted arrays


  1. WAP to Search in a row wise and column wise sorted matrix
  2. WAP to print a matrix in spiral form
  3. Print unique rows in a given Boolean matrix

Linked List Data Structure:

  1. Introduction to Linked List
  2. Insert an element into Linked List
  3. Delete given key from Linked List
  4. Delete given key at given position from Linked List
  5. Length of a Linked List using both Iterative & Recursive method
  6. Modify head pointer of a Linked List
  7. WAP to Swap nodes in a linked list without swapping data
  8. WAP to Reverse a linked list
  9. WAP to Merge two sorted linked lists
  10. WAP to Merge Sort for Linked Lists
  11. WAP to Reverse a Linked List in groups of given K size
  12. Detect and Remove Loop from Linked List
  13. Doubly Linked List Introduction
  14. Insert and delete an element in to DLL
  15. WAP to Reverse a Doubly Linked List
  16. Quicksort on Doubly Linked List
  17. Merge Sort for Doubly Linked List
  18. Circular Linked List Introduction
  19. Circular Singly Linked List Insertion, Delete, and search
  20. Circular Linked List Traversal
  21. Split a Circular Linked List into two half
  22. Sorted insert into circular linked list


  1. Introduction to Stack
  2. Infix to Postfix Conversion
  3. Evaluation of Postfix Expression
  4. Reverse a String
  5. Implement two stacks in an array
  6. Check for balanced parentheses in an expression
  7. Sort a stack using recursion


  1. Queue Introduction
  2. Implementation of Queue using Linked List
  3. Applications of Queue
  4. Priority Queue
  5. Deque Introduction & Applications
  6. Implement Queue using Stacks

Binary Tree:

  1. Binary Tree Introduction
  2. Properties n Types of Binary Tree
  3. Applications of tree
  4. Tree Traversals
  5. Breadth First Search
  6. Depth First Search
  7. Level Order Tree Traversal
  8. Diameter of a Binary Tree
  9. Inorder Tree Traversal without Recursion
  10. Inorder Tree Traversal without recursion and without stack
  11. Height of a Tree
  12. Construct Tree from given Inorder and Preorder traversals
  13. Maximum width of a binary tree
  14. Print nodes at k distance from root
  15. Print Ancestors of a given node in Binary Tree

Binary Search Tree:

  1. Search, Insert, & Deletion from BST
  2. Minimum value in a BST
  3. Given binary tree is BST or not
  4. Lowest Common Ancestor in a BST.
  5. Inorder Successor in BST
  6. Floor and Ceil of a BST
  7. Merge Two Balanced Binary Search Trees


  1. Heap Sort
  2. Binary Heap
  3. Binomial Heap
  4. K’th Largest Element in an array