(T1) Improving an existing algorithm
A specific algorithm (e.g., Dijkstra’s shortest path, PageRank, or SGD for optimization) is important and widely used. The research goal is to improve its performance (speed, accuracy, scalability, robustness, memory efficiency, etc.).
(T2) Designing a solution for a problem
Given a well-defined problem (e.g., detecting communities in networks, scheduling tasks, learning embeddings), we want to find or design an algorithm to solve it.
Regardless of whether you are working on (T1) or (T2), the following fundamental procedure should guide your research:
Algorithmic research can be pursued through two complementary lenses: