Algoritmul de cautare a celui mai scurt drum intr-un graf se bazeaza pe utilizarea unei cozi de prioritati (min-heap) si a unui vector de distante. Se incepe cu vectorul de distante setat la valoarea infinit pentru toate nodurile, cu exceptia nodului sursa, care are distanta setata la 0. Se adauga nodul sursa in coada de prioritati, iar apoi se itereaza prin vecinii acestuia, actualizand distantele si adaugand vecinii in coada. Se continua acest proces pana cand se ajunge la destinatie sau cand coada este goala.