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!
Linear 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 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 worksCircular Linked List is a linear data structure where the last node points back to the first node, forming a circle.
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 worksCircular Queue is a linear data structure that connects the end back to the beginning, forming a circle.
See how it worksPriority Queue is an abstract data type where each element has an associated priority.
See how it worksDouble-ended queue allowing insertion and deletion at both ends.
See how it worksAcyclic 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 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 worksPlanar Graph is a graph that can be drawn on a plane without any edges crossing.
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 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 worksBinary Tree is a hierarchical data structure where each node has at most two children: left child and right child.
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 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 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 worksN-ary Tree is a tree data structure where each node can have at most N children, generalizing binary trees.
See how it worksQuadTree is a tree data structure for partitioning 2D space by recursively subdividing into four quadrants.
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 worksTree Set is a sorted set implementation using a balanced binary search tree (Red-Black Tree).
See how it worksPriority Queue is an abstract data type where each element has an associated priority.
See how it worksData structure for tracking disjoint sets with union and find operations
See how it worksSegment Tree is a binary tree data structure for efficient range queries and updates on arrays.
See how it works.Binary Indexed Tree (Fenwick Tree) is a data structure that efficiently supports prefix sum queries and updates in O(log n) time.
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!