Complexity Analysis (Time and Space) Modular Arithmetic Bit-Manipulation (not that deep) Recursion (BackTracking, Divide and Conquet) Sorting Algorithms Binary Search (has an entire set of problems of its own) Prefix Sums