Table of Contents

Big O Notation

Hash

Arrays

Prefix & Suffix

Sliding Window

Two Pointers

Index Calculation

Binary Search

Backtracking

Heaps

Two Heaps

Stacks / Queues / Deques

Monotonic Stacks / Queues

Intervals

Boyer-Moore Voting

1D Dynamic Programming

Kadane's Algorithm

Greedy

2D Dynamic Programming