Berilgan tugundan (uni 0 deb bilgilaymiz) barcha boshqa tugunlarga bo’lgan qisqa masofalarni hisoblash uchun amalda qullaniladi. Algoritm samaradorligi amallar bajarilishi bo’yicha n*m tartibli hisoblanadi. Bu algoritmda ham qirralar o’girlik qiymatlari manfiy bo’lishi mumkin va halqa ko’rinishida berilmagan bo’lishi lozim.
Algoritm g’oyasi: d[0 .. n–1] masofalar massivi har i-chi qadamda javobini saqlash uchun ishlatiladi va har qadamda i-dan oshmagan qirallar soni ishtirokida masofa hisoblash uchun foydalaniladi. Agar j-tugunga yo’l mavjud bo’lmasa u holda d[j] = 2000000000 (yani cheksiz qiymatga teng deb hisoblanadi). Birinchi qadamda d masiiv cheksiz qiymatlar bilan to’ldirilib olinadi. Va har keyingi qadamda qirralar ko’rib chiqiladi va masofani yangilash uchun tekshiriladi. Agar qirradan ushbu tugunga marshruti mavjud bo’lsa u holda masofalar solishtiriladi. Yangi qiymat kichik bo’lsa u holda massiv yangilanadi. Shuni aytish ham lozim qisqa masofani aniqlashda halqa ishtirok etilmaydi
Algoritmning psevdokodi:
g grafni o’qib olamiz
e qirallar ro’yhatini shakllantiramiz
// e[0 ... m - 1] – qirralar ro’yhati massivi, qaysida (first, second - tugunlar, value – qirra o’g’irligi)