Dla każdego wierzchołka wykonujemy funkcję Pobierz_Najmniejszy() oraz dodatkowo dla każdej krawędzi wykonujemy jedno porównanie (i ewentualnie podstawienie) w czasie sta-łym. Zatem złożoność czasowa zależy od tego jak zaprojektujemy funkcję Po-bierz_Najmniejszy().
Jeżeli zastosujemy proste, liniowe wyszukiwanie najmniejszego elementu, to otrzymamy zło-żoność O(V2+E). Gdybyśmy użyli do tego stogu, to otrzymamy O(VlogV+ElogV), co się opłaca w przypadku grafów rzadkich, a dla gęstych tylko pogarsza wynik. Najlepsze co mo-żemy zrobić to użyć kopców Fibbonacciego, dzięki którym otrzymamy złożoność O(V*logV+E) (ale to jest dość skomplikowane).
To akapit dot. zlozonosci czasowej Dijkstry z mojego opisu. Kopce Fibbonacciego, o ktorych wspomniano w ostatnim zdaniu, chyba faktycznie sa skomplikowane, gdyz nie moge w necie znalezc co to jest i jak z w/w algorytmem je polaczyc... wszelka pomoc jest dla mnie nieoceniona...
Pozdravki.