Glossary

Two Pointers
Pair of indices scanning a sequence to find pairs or partitions.
Sliding Window
Maintain a contiguous window with O(1) updates for subarray/substring goals.
Binary Search
Halve a monotonic search space each step.
Dynamic Programming
Solve overlapping subproblems via memoization or tabulation.
Union Find
Disjoint-set structure for connectivity queries and merges.
BFS
Level-order graph/tree exploration; shortest path in unweighted graphs.
DFS
Deep recursive exploration for components, paths, and search trees.
Trie
Prefix tree for efficient string dictionary operations.
Heap
Priority queue supporting extract-min/max in logarithmic time.
Kadane
Linear-time maximum subarray via local optimal running sums.