If you have ever taken an algorithms class, you know Dijkstra’s algorithm. Since 1959, it has been the textbook solution for the Single-Source Shortest Path (SSSP) problem. For decades, it seemed untouchable on sparse graphs, running in O(m + n log n) time using Fibonacci heaps.
But there has always been a theoretical itch that researchers couldn't scratch:
The Sorting Barrier.
Dijkstra’s algorithm doesn't just find shortest paths; as a byproduct, it sorts vertices by their distance from the source. Because sorting requires Ω(n log n) comparisons, Dijkstra is stuck at that speed limit. But strictly speaking, SSSP doesn't ask us to sort the vertices just to find their distances.
In a major breakthrough paper (July 2025), researchers from Tsinghua University, Stanford, and Max Planck Institute have finally shattered this barrier for directed graphs.
The Headline Result
The authors present a deterministic algorithm that solves SSSP on directed graphs with real non-negative edge weights in:
O(m log^{2/3} n)
This is the first deterministic result to break the O(m + n log n) time bound on sparse directed graphs. It proves, definitively, that Dijkstra’s algorithm is not optimal for SSSP.
Why Was This So Hard?
For undirected graphs, we already knew we could do better than Dijkstra (breaking the barrier in randomized time). However, directed graphs remained stubborn.
The problem lies in the "Frontier." In Dijkstra's algorithm, the priority queue maintains a frontier of vertices. The algorithm constantly picks the vertex closest to the source. The bottleneck is that this frontier can contain Θ(n) vertices, forcing the algorithm to maintain a total order over a huge number of elements.
To beat O(n log n), you have to stop sorting everything.

The Secret Sauce: Pivots and Partitioning
The new algorithm manages to bypass the sorting barrier by merging two traditional approaches: Dijkstra and Bellman-Ford.
Here is the high-level intuition of their approach:
1. Shrinking the Frontier with "Pivots"
Instead of putting every candidate vertex into a priority queue (which is slow), the algorithm uses a technique to reduce the frontier size.
- The Logic: If you run a few steps of Bellman-Ford (which doesn't require sorting) on a set of vertices, you can identify "pivots".
- The Pivot: A pivot is essentially a root of a "large" shortest path tree.
- The Gain: Instead of tracking every single vertex, the algorithm only needs to track these pivots in the expensive data structure. This reduces the number of elements in the priority queue significantly roughly by a factor of 1/log^{Ω(1)}(n).
2. Recursive Divide-and-Conquer
The algorithm avoids a single global priority queue. Instead, it uses a recursive structure:
- It partitions the problem into roughly (log n)/t levels.
- It solves a sub-problem called Bounded Multi-Source Shortest Path (BMSSP).
- This routine finds the shortest paths from a set of source vertices S up to a certain distance bound B.
3. A New Data Structure
To make this recursion work, they couldn't use a standard heap. They developed a data structure based on block-based linked lists that supports a unique operation called Batch Prepend. This allows them to insert large groups of smaller values efficiently, keeping the amortized cost down.
The Verdict
This paper is a significant theoretical advancement. By demonstrating that we can identify shortest paths without fully respecting the "sorting bottleneck," the authors have opened the door to faster graph algorithms.
While O(m log^{2/3} n) might look like a modest improvement over O(m + n log n) at a glance, the implication is massive: Sorting is not required to solve directed shortest paths.