รหัสเทียม ของ ขั้นตอนวิธีของจอห์นสัน

  Johnson ( graph G ) {     //สร้างกราฟ K ใหม่เพิ่มปมพิเศษ q และเพิ่มเส้นเชื่อมจากปม q ไปปมอื่นทุกปมให้น้ำหนักเป็น 0    create graph K : K.V = G.V add {q}                    //V คือ จุดปม                   : K.E = G.E add {(q,i) | i in G.V}     //E คือ เส้นเชื่อม                   : K.W = G.W , K.W(q,i) = 0 | i in G.V  //W คือ ระยะระหว่างปมสองปม    BellmanFord(K,q)                                      //ถ้ามีวงจรติดลบจะหยุด    for each edge (i,j)in G.E       G.W(i,j) += h[i]-h[j]    for each vertex i in G.V {       d=dijkstra(G,i)                                    //d คือ array ของทุกจุดในกราฟแต่ละจุดเก็บระยะสั้นสุดจากจุด i       for each vertex j in G.V         L(i,j)=d[j]-(h[i]-h[j])                          //L คือ ระยะทางสั้นสุด    }    return L  }

ใกล้เคียง

ขั้นตอนวิธีแบบยุคลิด ขั้นตอนวิธีการค้นหาเพื่อนบ้านใกล้สุด k ตัว ขั้นตอนวิธีของฟลอยด์-วอร์แชล ขั้นตอนวิธีของควิน-แม็กคลัสกีย์ ขั้นตอนวิธี ขั้นตอนวิธีเชิงพันธุกรรม ขั้นตอนวิธีฮังกาเรียน ขั้นตอนวิธีของชอร์ ขั้นตอนวิธีโบรน-เคอร์โบสท์ ขั้นตอนวิธีของเบลแมน-ฟอร์ด