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