Arrays & Hashing
Fast lookup, counting, grouping, and prefix techniques.
Two Pointer
Coordinate indices to replace unnecessary nested loops.
Sliding Window
Maintain a valid moving range over sequences.
Binary Search
Search sorted data and monotonic answer spaces.
Linked List
Pointer rewiring, cycles, reversal, and list structure.
Tree
Recursive structure, traversals, and subtree reasoning.
Trie
Prefix-aware search and compact string structure.
Heap
Keep fast access to the next best candidate.
Backtracking
Enumerate choices with a disciplined state template.
Graph
Model relationships, traversal, ordering, and shortest paths.
Dynamic Programming
Define states, transitions, and overlapping work.
Greedy
Prove when the best local move preserves the global answer.
Interval
Sort, merge, sweep, and reason about ranges.
Monotonic Stack
Find the next or previous boundary in linear time.
Palindrome
Exploit symmetry with pointers, centers, and states.
Divide and Conquer
Split, solve, and recombine independent structure.
Prefix Sum
Turn repeated range work into quick arithmetic.
Sorted List
Maintain order while inserting, removing, and querying.
Segment Tree
Answer changing range queries with a recursive index.
Parenthesis
Track balance, validity, and nested expression state.