Array
Stack / Queue
Hashset / Hashmap / Hashtable / Dictionary
Tree / binary tree
Heap
Graph
Think data structures.
Sorting (plus searching / binary search)
Divide-and-conquer
Dynamic programming / memoization
Greediness
Recursion
Algorithms associated with a specific data structure (which brings us to our fourth suggestion…)