A journey through data manipulation, optimization, and algorithmic thinking.
A linear data structure where elements are linked using pointers. Useful for dynamic memory.
Bidirectional linear structure for efficient forward/backward traversal. Each node has two pointers: One to the next node, and another to the node previous to it.
Indexed data collection for accessing sequential elements in contiguous memory. These elements have the same type.
Follows the Last In First Out (LIFO) principle. Push adds to the top, pop removes the top element.
Follows the First In First Out (FIFO) principle. Enqueue adds to the rear, dequeue removes the front element.
A tree where each node has at most two children, maintains sorted order. Search and insertion are quick O(log n).
Associative array to stores key-value pairs. Provides fast lookups (O(1) on average).
Consists of nodes connected by edges, useful for modeling relationships. Can be directed or undirected.
Self-balancing tree optimized for disk storage, minimizes disk access. Good for large databases.