Advanced Data Structures Last Updated : 22 Feb, 2024 Improve Improve Like Article Like Save Share Report Advanced Data Structures refer to complex and specialized arrangements of data that enable efficient storage, retrieval, and manipulation of information in computer science and programming. These structures go beyond basic data types like arrays and lists, offering sophisticated ways to organize and manage data for optimal performance in various algorithms and applications. This page will contain some of the complex and Advanced Data Structures like Disjoint Sets, Self-Balancing Trees, Segment Trees, Tries etc. Table of Content Advanced Lists n-ary Tree Self Balancing BSTs Trie Segment Tree Binary Indexed Tree Suffix Array and Suffix Tree K-Dimensional Tree Disjoint Set Some other Data Structure Advanced Lists: Generic Linked List in C Memory efficient Doubly Linked List XOR Linked List | Set 1 XOR Linked List | Set 2 Skip List Self-Organizing List Unrolled Linked List n-ary Tree: Generic Trees (N-ary Tree) Mirror of n-ary Tree Diameter of an N-ary tree Depth of an N-Ary tree Height of n-ary tree if parent array is given Number of ways to traverse an N-ary tree Number of siblings of a given Node in n-ary Tree Next Larger element in n-ary tree Serialize and Deserialize an N-ary Tree DFS for a n-ary tree (acyclic graph) represented as adjacency list Self Balancing BSTs: AVL Tree: Introduction to AVL Tree Insertion in AVL Tree Deletion in an AVL Tree AVL with duplicate keys Splay Tree: Introduction to Splay tree data structure Searching in Splay Tree Insertion in Splay Tree B-Tree: Introduction of B-Tree Insert Operation in B-Tree Delete Operation in B-Tree Red-Black Tree: Introduction to Red-Black Tree Insertion in Red-Black Tree Deletion in Red-Black Tree Scape Goat Tree and Treap: ScapeGoat Tree | (Introduction and Insertion) Treap (A Randomized Binary Search Tree) Implementation of Search, Insert and Delete in Treap Trie: Introduction to Trie – Data Structure and Algorithm Tutorials Trie | (Insert and Search) Trie | (Delete) Pattern Searching using a Trie of all Suffixes Longest Common Prefix Implement a Phone Directory Weighted Prefix Search Boggle Palindrome pair in an array of words (or strings) How to Implement Reverse DNS Look Up Cache? Segment Tree: Introduction to Segment Trees – Data Structure and Algorithm Tutorials Range minimum query Lazy Propagation Persistent Segment Tree Range Minimum Query (Square Root Decomposition and Sparse Table) Min-Max Range queries in array LCA in a binary tree using RMQ Introduction to Heavy Light Decomposition Reconstructing Segment Tree Longest Common Extension / LCE using Segment Tree Binary Indexed Tree: Binary Indexed Tree or Fenwick Tree Two Dimensional Binary Indexed Tree or Fenwick Tree Binary Indexed Tree : Range Updates and Point Queries Binary Indexed Tree : Range Update and Range Queries proto van Emde Boas Trees | Background and Introduction Suffix Array and Suffix Tree Suffix Array Introduction Suffix Tree Introduction Ukkonen’s Suffix Tree Construction – Part 1 Generalized Suffix Tree Suffix Tree Application 1 – Substring Check K-Dimensional Tree: Search and Insertion in K Dimensional tree Find minimum in K Dimensional Tree Deletion in K Dimensional Tree Disjoint Set: Disjoint Set Data Structures Introduction to Disjoint Set Data Structure or Union-Find Algorithm Disjoint Set Union on Trees Union By Rank and Path Compression in Union-Find Algorithm Some other Data Structure: Palindromic Tree | Introduction & Implementation Ternary Search Tree Interval Tree BK-Tree | Introduction & Implementation Cartesian Tree Sparse Set Gomory-Hu Tree Persistent Data Structure Quick Links: Trie Practice Problems Segment Tree Practice Problems Binary Indexed Tree Practice Problems Recomended: Learn Data Structure and Algorithms | DSA Tutorial Like Article Suggest improvement Previous Matrix Data Structure Next Data Structure Alignment : How data is arranged and accessed in Computer Memory? Share your thoughts in the comments Add Your Comment Please Login to comment...