A method to improve the running time of this algorithm on a specific type of input was presented by Jin Yen in 1970. Johnson's algorithm uses this method as a subroutine after adding a temporary vertex to its input graph. One of this algorithm's namesakes wrote a seminal book in which he introduced 
A method to improve the running time of this algorithm on a specific type of input was presented by Jin Yen in 1970. Johnson's algorithm uses this method as a subroutine after adding a temporary vertex to its input graph. One of this algorithm's namesakes wrote a seminal book in which he introduced the concept of dynamic programming. Unlike a more popular algorithm, this method can process graphs with negative edge weights, but its running time is asymptotically slower. After initializing the input graph, this method repeatedly relaxes edges before checking for negative weight-cycles. This describes, FTP, what single source, shortest path graph algorithm that was NOT designed by Edsger Dijkstra?
A method to improve the running time of this algorithm on a specific type of input was presented by Jin Yen in 1970.
Bellman-Ford algorithm