Can't find what you need? Or have an idea and love to help? Tell us what you're looking for or share your idea. We will create it for you, completely free!
(Abstract Data Types (ADTs) define the behavior of data structures independently of their implementation.)
Dictionary Map is an abstract data type that stores key-value pairs and allows efficient lookups, insertions, and deletions.
See how it worksData structure for tracking disjoint sets with union and find operations
See how it worksBinary Indexed Tree (Fenwick Tree) is a data structure that efficiently supports prefix sum queries and updates in O(log n) time.
See how it worksMultimap is an abstract data type that maps keys to multiple values, allowing efficient lookups and insertions.
See how it worksMultiset is an abstract data type that allows multiple occurrences of its elements and supports efficient insertions, deletions, and membership queries.
See how it worksPriority Queue is an abstract data type where each element has an associated priority.
See how it worksSegment Tree is a binary tree data structure for efficient range queries and updates on arrays.
See how it works.(File-Based Structures are designed for efficient storage and retrieval of data on disk, often used in databases and file systems.)
B-Tree is a self-balancing tree data structure that maintains sorted data and allows searches, sequential access, insertions, and deletions in logarithmic time.
See how it worksB+ Tree is a self-balancing tree data structure that maintains sorted data and allows searches, insertions, and deletions in logarithmic time.
See how it worksHeap File is a file-based data structure that stores records in no particular order, allowing for efficient insertions.
See how it works(Hash-Based Structures use hash functions to map keys to indices in an array, allowing for efficient data retrieval.)
(Linear Data Structures organize data sequentially, allowing for efficient traversal and manipulation.)
Circular Linked List is a linear data structure where the last node points back to the first node, forming a circle.
See how it worksCircular Queue is a linear data structure that connects the end back to the beginning, forming a circle.
See how it worksDouble-ended queue allowing insertion and deletion at both ends.
See how it worksDoubly Linked List is a linear data structure where each node contains data and two pointers: one to the next node and one to the previous node.
See how it worksPriority Queue is an abstract data type where each element has an associated priority.
See how it worksLinear collection of nodes where each node contains data and reference to next node. In a singly linked list, each node only points to the next node (not the previous one, unlike a doubly linked list).
See how it worksStack is a linear data structure that follows the LIFO (Last-In, First-Out) principle. Elements are added and removed from the same end, called the top of the stack.
See how it works(Simple) Queue is a linear data structure that follows the First-In-First-Out (FIFO) principle.
See how it works(Non-Linear Data Structures organize data hierarchically, allowing for efficient representation of complex relationships.)
Acyclic Graph is a directed graph with no cycles (DAG). It is widely used in scheduling, dependency resolution, and more.
See how it worksAdjacency Matrix is a 2D array used to represent a graph. Each cell (i, j) indicates if there is an edge from node i to node j.
See how it worksAVL Tree is a self-balancing binary search tree where the heights of two child subtrees of any node differ by at most one.
See how it worksB+ Tree is a self-balancing tree data structure that maintains sorted data and allows searches, insertions, and deletions in logarithmic time.
See how it worksBinary Indexed Tree (Fenwick Tree) is a data structure that efficiently supports prefix sum queries and updates in O(log n) time.
See how it worksBinary Search Tree (BST) is a binary tree where left child values are smaller than parent, and right child values are larger than parent.
See how it worksBinary Tree is a hierarchical data structure where each node has at most two children: left child and right child.
See how it worksBipartite Graph is a graph whose nodes can be divided into two disjoint sets such that every edge connects a node from one set to the other.
See how it worksComplete Graph is a simple undirected graph in which every pair of distinct nodes is connected by a unique edge.
See how it worksConnected Graph is a graph in which there is a path between every pair of nodes.
See how it worksCyclic Graph is a graph that contains at least one cycle, i.e., a path that starts and ends at the same node without repeating edges.
See how it worksDense Graph is a graph in which the number of edges is close to the maximum possible, i.e., close to n(n-1)/2 for n nodes.
See how it worksDirected Graph (digraph) is a graph in which edges have a direction, going from one node to another.
See how it worksDisconnected Graph is a graph in which at least two vertices are not connected by a path.
See how it worksList Representation of a graph uses lists (arrays, linked lists, etc.) to store the neighbors of each node.
See how it worksMultigraph is a graph which is permitted to have multiple edges (also called parallel edges) between the same pair of nodes.
See how it worksN-ary Tree is a tree data structure where each node can have at most N children, generalizing binary trees.
See how it worksPlanar Graph is a graph that can be drawn on a plane without any edges crossing.
See how it worksQuadTree is a tree data structure for partitioning 2D space by recursively subdividing into four quadrants.
See how it worksRed-Black Tree is a self-balancing binary search tree where each node has a color (red or black) and follows specific rules to maintain balance.
See how it worksSparse Graph is a graph in which the number of edges is much less than the maximum possible number of edges. Typically, a sparse graph has O(V) or O(V log V) edges, where V is the number of nodes.
See how it worksSuffix Tree is a compressed trie containing all suffixes of a given string.
See how it worksSegment Tree is a binary tree data structure for efficient range queries and updates on arrays.
See how it worksUndirected Graph is a graph where edges have no direction. Each edge simply connects two nodes, and the connection is bidirectional.
See how it worksUnweighted Graph is a graph where all edges are considered equal; there are no weights or costs associated with the edges.
See how it worksWeighted Graph is a graph where each edge has an associated numerical value (weight), representing cost, distance, or capacity.
See how it works(Set-Based & Associative Data Structures are used to store collections of unique elements or key-value pairs, allowing for efficient membership testing and retrieval.)
Disjoint Set is a data structure that keeps track of a partition of a set into disjoint (non-overlapping) subsets.
See how it worksTree Set is a sorted set implementation using a balanced binary search tree (Red-Black Tree).
See how it works(Specialized / Advanced Data Structures are designed for specific use cases, providing optimized performance for particular operations.)
Data structure for tracking disjoint sets with union and find operations
See how it worksBinary Indexed Tree (Fenwick Tree) is a data structure that efficiently supports prefix sum queries and updates in O(log n) time.
See how it worksSegment Tree is a binary tree data structure for efficient range queries and updates on arrays.
See how it worksCan't find what you need? Or have an idea and love to help? Tell us what you're looking for or share your idea. We will create it for you, completely free!