Arrays

Math

Binary Search

Strings

Bit Manipulation

Two Pointers

Linked List

Stacks and Queues

Hashing and Maps

Priority Queue (Heap)

Greedy

Backtracking

Trees

Graphs

Dynamic Programming