Advanced Data Structures

  • Last Updated : 08 May, 2023

Learn more about Advanced Data Structures in DSA Self Paced Course
Practice Problems on all Advanced Data Structure

Data Structures are used to store and manage data in an efficient and organised way for faster and easy access and modification of Data. Some of the basic data structures are Arrays, LinkedList, Stacks, Queues etc.

This page will contain some of the complex and advanced Data Structures like Disjoint Sets, Self-Balancing Trees, Segment Trees, Tries etc.


Advanced Lists:

  1. Generic Linked List in C
  2. Memory efficient Doubly Linked List
  3. XOR Linked List | Set 1
  4. XOR Linked List | Set 2
  5. Skip List
  6. Self-Organizing List
  7. Unrolled Linked List

n-ary Tree:

  1. Generic Trees (N-ary Tree)
  2. Mirror of n-ary Tree
  3. Diameter of an N-ary tree
  4. Depth of an N-Ary tree
  5. Height of n-ary tree if parent array is given
  6. Number of ways to traverse an N-ary tree
  7. Number of siblings of a given Node in n-ary Tree
  8. Next Larger element in n-ary tree
  9. Serialize and Deserialize an N-ary Tree
  10. DFS for a n-ary tree (acyclic graph) represented as adjacency list

Self Balancing BSTs:


  1. Introduction to Trie – Data Structure and Algorithm Tutorials
  2. Trie | (Insert and Search)
  3. Trie | (Delete)
  4. Pattern Searching using a Trie of all Suffixes
  5. Longest Common Prefix
  6. Implement a Phone Directory
  7. Weighted Prefix Search
  8. Boggle
  9. Palindrome pair in an array of words (or strings)
  10. How to Implement Reverse DNS Look Up Cache?

Segment Tree:

  1. Introduction to Segment Trees – Data Structure and Algorithm Tutorials
  2. Range minimum query
  3. Lazy Propagation
  4. Persistent Segment Tree
  5. Range Minimum Query (Square Root Decomposition and Sparse Table)
  6. Min-Max Range queries in array
  7. LCA in a binary tree using RMQ
  8. Introduction to Heavy Light Decomposition
  9. Reconstructing Segment Tree
  10. Longest Common Extension / LCE using Segment Tree

Binary Indexed Tree:

  1. Binary Indexed Tree or Fenwick Tree
  2. Two Dimensional Binary Indexed Tree or Fenwick Tree
  3. Binary Indexed Tree : Range Updates and Point Queries
  4. Binary Indexed Tree : Range Update and Range Queries
  5. proto van Emde Boas Trees | Background and Introduction

Suffix Array and Suffix Tree

  1. Suffix Array Introduction
  2. Suffix Tree Introduction
  3. Ukkonen’s Suffix Tree Construction – Part 1
  4. Generalized Suffix Tree
  5. Suffix Tree Application 1 – Substring Check

K-Dimensional Tree:

  1. Search and Insertion in K Dimensional tree
  2. Find minimum in K Dimensional Tree
  3. Deletion in K Dimensional Tree

Disjoint Set:

  1. Disjoint Set Data Structures
  2. Introduction to Disjoint Set Data Structure or Union-Find Algorithm
  3. Disjoint Set Union on Trees
  4. Union By Rank and Path Compression in Union-Find Algorithm

Some other Data Structure:

  1. Palindromic Tree | Introduction & Implementation
  2. Ternary Search Tree
  3. Interval Tree
  4. BK-Tree | Introduction & Implementation
  5. Cartesian Tree
  6. Sparse Set
  7. Gomory-Hu Tree
  8. Persistent Data Structure

Quick Links:


If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above

My Personal Notes arrow_drop_up