Everything About ___
Live briefing

Everything about Johnson's algorithm

Method to find shortest paths

Johnson's algorithm is a way to find the shortest paths between all pairs of vertices in an edge-weighted directed graph. It allows some of the edge weights to be negative numbers, but no negative-weight cycles may exist. It works by using the Bellman–Ford algorithm to compute a transformation of the input graph that removes all negative weights, allowing Dijkstra's algorithm to be used on the transformed graph. It is named after Donald B. Johnson, who first published the technique in 1977. Wikipedia →

🧭 Start here: a 6-step reading path

  1. Read the overview: Johnson's algorithmA 5-minute orientation
  2. Skim a recent paper: A simple and fast algorithm for computing discrete Voronoi, Johnson-Mehl or Laguerre diagrams of pointsInfluential work since 2022
  3. Pick up a classic book: A model-based approach for the measurement of eye movements using image processingThe most-reprinted book on the subject
  4. Read the landmark paper: Algorithm AS 99: Fitting Johnson Curves by MomentsCited 234 times
  5. Go sideways: Suurballe's algorithmA closely related topic
  6. Go sideways: Dijkstra's algorithmA closely related topic

📖 Definitions

No dictionary entry for this exact phrase.

🏆 Landmark papers (most cited)

🆕 Influential since 2022

📚 Books worth reading

Ranked by number of editions on Open Library, a rough measure of how lasting a book is.

🔗 Related topics