Dlaczego algorytm Dijkstra używa sterty (kolejki priorytetowej)?
Próbowałem użyć algorytmu Djikstra na cyklicznym wykresie ważonym bez użycia kolejki Priority (Heap) i zadziałało.
Potem szukałem google, że „dlaczego, do diabła, potrzebujemy kolejki priorytetowej do wdrożenia?” W wyniku przeszukania przeszedłem przez Wikipedię, gdzie dowiedziałem się, że oryginalna implementacja nie korzysta z kolejki Priority i działa w czasie O (| V | 2), tj. V kwadratowym czasie.
teraz, jeśli po prostu usuniemy kolejkę priorytetową i użyjemy normalnej kolejki, czas działania jest liniowy, tj. O (V + E).
Proszę kogoś zasugerować, dlaczego potrzebujemy kolejki priorytetowej?