Algorithms for Data Structures
Array: A fixed-size collection of elements of the same type, stored contiguously in memory.
Linked List: A collection of nodes, where each node contains a value and a reference to the next node.
Stack: A last-in, first-out (LIFO) data structure where elements are added and removed from the top.
Queue: A first-in, first-out (FIFO) data structure where elements are added at one end and removed from the other end.
Double-ended Queue (Deque): A queue where elements can be added or removed from both ends.
Hash Table: A data structure that uses hash functions to map keys to values, providing efficient lookup, insertion, and deletion.
Binary Tree: A tree data structure in which each node has at most two children.
Binary Search Tree (BST): A binary tree where the left child is smaller than the parent, and the right child is greater.
AVL Tree: A self-balancing binary search tree where the heights of the left and right subtrees differ by at most one.
Red-Black Tree: A self-balancing binary search tree with additional properties that ensure balance.
B-Tree: A self-balancing tree data structure that maintains sorted data and allows efficient operations.
Heap: A complete binary tree where each parent node is either greater or smaller than its children.
Priority Queue: A queue where elements have priorities assigned to them, and the element with the highest priority is dequeued first.
Trie: A tree-like data structure used for efficient retrieval of keys with common prefixes.
Graph: A collection of nodes (vertices) connected by edges, representing relationships.
Disjoint Set: A data structure that keeps track of a set of disjoint elements partitioned into several equivalence classes.
Hash Set: A set data structure that uses hash functions to store and retrieve elements efficiently.
Hash Map: A map data structure that uses hash functions to store and retrieve key-value pairs efficiently.
Linked Hash Map: A hash map that maintains a doubly linked list of entries to preserve the insertion order.
Skip List: A probabilistic data structure that allows efficient search, insertion, and deletion operations.
Bloom Filter: A probabilistic data structure that tests whether an element is a member of a set.
Segment Tree: A tree-based data structure used for storing and querying intervals or segments of data.
Fenwick Tree (Binary Indexed Tree): A data structure that efficiently supports cumulative frequency queries.
Quadtree: A tree data structure in which each internal node has exactly four children.
Octree: A tree data structure in which each internal node has exactly eight children.