Skip to content

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