Johnson's algorithm

GPTKB entity

Statements (23)
Predicate Object
gptkbp:instanceOf graph
gptkbp:advantage efficient for sparse graphs
requires no negative cycles
gptkbp:alternativeTo gptkb:Floyd–Warshall_algorithm
gptkbp:category all-pairs shortest path algorithm
gptkbp:combines gptkb:Dijkstra's_algorithm
gptkb:Bellman-Ford_algorithm
gptkbp:complexity O(V^2 log V + VE)
gptkbp:doesNotHandle graphs with negative weight cycles
gptkbp:handles graphs with negative edge weights
https://www.w3.org/2000/01/rdf-schema#label Johnson's algorithm
gptkbp:input weighted directed graph
gptkbp:namedAfter gptkb:Donald_B._Johnson
gptkbp:output shortest path distances between all pairs of vertices
gptkbp:proposedBy gptkb:Donald_B._Johnson
1977
gptkbp:publishedIn gptkb:SIAM_Journal_on_Computing
gptkbp:step adds a new vertex connected to all others
runs Bellman-Ford to reweight edges
runs Dijkstra's algorithm from each vertex
gptkbp:usedFor finding shortest paths between all pairs of vertices
gptkbp:bfsParent gptkb:David_S._Johnson
gptkbp:bfsLayer 5