Uber ETA - System Design Newsletter by Neo Kim.
Dijkstra’s algorithm is known for finding the shortest path in a graph. But the time complexity of Dijkstra’s algorithm is O(n logn). And n is the number of road intersections or nodes in the graph. San Francisco Bay Area alone has half a million road intersections. So Dijkstra’s algorithm is not enough at Uber’s scale. So they partitioned the graph. And then precomputed the best path within each partition.