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?

questionAnswers(5)

yourAnswerToTheQuestion