Linked Lists, Stacks, and Queues
- Singly linked lists: insertion, deletion, traversal, reversal
- Doubly linked lists: bidirectional traversal, sentinel nodes
- Circular linked lists
- Skip lists: probabilistic balancing, expected O(log n) search
- Stacks: LIFO, array-based and linked-list-based implementations
- Applications of stacks: function call stack, expression evaluation, parenthesis matching, monotonic stack
- Queues: FIFO, circular buffer, deque (double-ended queue)
- Priority queues and binary heaps: insert, extract-min, heapify, heap sort