Sorting – Greedy algorithms – Backtracking – Dynamic programming – Basic graph algorithms – Advanced graph algorithms – Trees – Basic geometry – Computational geometry – Strings – Basic heuristic search – Advanced search – Simulation problems – Number theory – Discrete structures Any of the online platforms likeCodeChef / CodeForces / Hackerrank can be used