Top ROI problems

Highest ROI: DFS, BFS, Two pointers

Depth-first search(DFS), breadth-first search(BFS) and two pointers, make up a good portion of all interview problems. DFS in particular can be used to solve a wide range of problems from tree to graph to combinatorial problems and is very useful in tech interviews.

Linked list, stack, and queue high ROI

These problems get asked a lot, but there aren't many variations. For example, the linked list category has several classic problems such as reversing a linked list, finding the middle node of a linked list, and linked list cycle detection that get asked repeatedly.

Priority Queue/heap medium ROI

Priority queue and heap show up surprisingly more often than most would think. The classic problems include the median of a data stream, k closest points.

Greedy, Dynamic programming

Dynamic programming (DP) is hard to summarize and does not frequently appear (unless you are interviewing Google, whose engineers like to ask DP problems). There are a few classic problems you may want to know such as house robber and robot paths. Otherwise, you should probably focus on higher ROI areas if you are short on time. Also, if you can't figure out a dynamic programming solution, you can always do DFS + memoization which does the same thing.

Each greedy problem is different, and it's hard to summarize a pattern, and the correctness of your solution often requires rigorous mathematical proof that is hard to learn in a short time. Therefore, we consider the greedy problem to be low ROI.

Trie, Union Find medium-low ROI

These don't appear often but do show up. Consider them of secondary priority.