Hashing Data Structure

Data Structures Tutorial

Data structures are the fundamental building blocks of computer programming. They define how data is organized, stored, and manipulated within a program. Understanding data structures is very important for developing efficient and effective algorithms. In this tutorial, we will explore the most commonly used data structures, including arrays, linked lists, stacks, queues, trees, and graphs.

Similar Reads

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....

Classification of Data Structure:

Classification of Data Structure...

Introduction to Data Structures:

What is Data Structure: Types, Classifications and Applications Introduction to Data Structures Common operations on various Data Structures...

Array Data Structure:

Search, insert and delete in an unsorted array Search, insert and delete in a sorted array Write a program to reverse an array Leaders in an array Given an array A[] and a number x, check for pair in A[] with sum as x Majority Element Find the Number Occurring Odd Number of Times Largest Sum Contiguous Subarray Find the Missing Number Search an element in a sorted and pivoted array Merge an array of size n into another array of size m+n Median of two sorted arrays Program for array rotation Reversal algorithm for array rotation Block swap algorithm for array rotation Maximum sum such that no two elements are adjacent Sort elements by frequency | Set 1 Count Inversions in an array...

Linked List Data Structure:

1. Singly Linked List:...

Matrix Data Structure:

Search in a row wise and column wise sorted matrix Print a given matrix in spiral form A Boolean Matrix Question Print unique rows in a given boolean matrix Maximum size square sub-matrix with all 1s Print unique rows in a given boolean matrix Inplace M x N size matrix transpose | Updated Dynamic Programming | Set 27 (Maximum sum rectangle in a 2D matrix) Strassen’s Matrix Multiplication Create a matrix with alternating rectangles of O and X Print all elements in sorted order from row and column wise sorted matrix Given an n x n square matrix, find sum of all sub-squares of size k x k Count number of islands where every island is row-wise and column-wise separated Find a common element in all rows of a given row-wise sorted matrix...

Stack Data Structure:

Introduction to Stack Infix to Postfix Conversion using Stack Evaluation of Postfix Expression Reverse a String using Stack Implement two stacks in an array Check for balanced parentheses in an expression Next Greater Element Reverse a stack using recursion Sort a stack using recursion The Stock Span Problem Design and Implement Special Stack Data Structure Implement Stack using Queues Design a stack with operations on middle element How to efficiently implement k stacks in a single array? Sort a stack using recursion...

Queue Data Structure:

Queue Introduction and Array Implementation Linked List Implementation of Queue Applications of Queue Data Structure Priority Queue Introduction Deque (Introduction and Applications) Implementation of Deque using circular array Implement Queue using Stacks Find the first circular tour that visits all petrol pumps Maximum of all subarrays of size k An Interesting Method to Generate Binary Numbers from 1 to n How to efficiently implement k Queues in a single array?...

Binary Tree Data Structure:

Binary Tree Introduction Binary Tree Properties Types of Binary Tree Handshaking Lemma and Interesting Tree Properties Enumeration of Binary Tree Applications of tree data structure Tree Traversals BFS vs DFS for Binary Tree Level Order Tree Traversal Diameter of a Binary Tree Inorder Tree Traversal without Recursion Inorder Tree Traversal without recursion and without stack! Threaded Binary Tree Maximum Depth or Height of a Tree If you are given two traversal sequences, can you construct the binary tree? Clone a Binary Tree with Random Pointers Construct Tree from given Inorder and Preorder traversals Maximum width of a binary tree Print nodes at k distance from root Print Ancestors of a given node in Binary Tree Check if a binary tree is subtree of another binary tree Connect nodes at same level...

Binary Search Tree Data Structure:

Search and Insert in BST Deletion from BST Minimum value in a Binary Search Tree Inorder predecessor and successor for a given key in BST Check if a binary tree is BST or not Lowest Common Ancestor in a Binary Search Tree. Inorder Successor in Binary Search Tree Find k-th smallest element in BST (Order Statistics in BST) Merge two BSTs with limited extra space Two nodes of a BST are swapped, correct the BST Floor and Ceil from a BST In-place conversion of Sorted DLL to Balanced BST Find a pair with given sum in a Balanced BST Total number of possible Binary Search Trees with n keys Merge Two Balanced Binary Search Trees Binary Tree to Binary Search Tree Conversion...

Heap Data Structure:

Binary Heap Why is Binary Heap Preferred over BST for Priority Queue? Heap Sort K’th Largest Element in an array Sort an almost sorted array Binomial Heap Fibonacci Heap Tournament Tree (Winner Tree) and Binary Heap...

Hashing Data Structure:

Hashing Introduction Separate Chaining for Collision Handling Open Addressing for Collision Handling Print a Binary Tree in Vertical Order Find whether an array is subset of another array Union and Intersection of two Linked Lists Find a pair with given sum Check if a given array contains duplicate elements within k distance from each other Find Itinerary from a given list of tickets Find number of Employees Under every Employee...

Graph Data Structure:

Graph and its representations Breadth First Traversal for a Graph Depth First Traversal for a Graph Applications of Depth First Search Applications of Breadth First Traversal Detect Cycle in a Directed Graph Detect Cycle in Graph using DSU Detect cycle in an Undirected Graph using DFS Longest Path in a Directed Acyclic Graph Topological Sorting Check whether a given graph is Bipartite or not Snake and Ladder Problem Minimize Cash Flow among a given set of friends who have borrowed money from each other Boggle (Find all possible words in a board of characters) Assign directions to edges so that the directed graph remains acyclic...

Advanced Data Structure:

1. Advanced Lists:...