Algorytm Dijkstry wyznacza najkrótsze ścieżki z jednego źródła w grafie o nieujemnych wagach krawędzi. Wielokrotnie wybiera najbliższy nieodwiedzony wierzchołek (zwykle przez kolejkę priorytetową) i relaksuje krawędzie wychodzące, osiągając O((V+E) log V) z kopcem.