Por que o Algoritmo de Dijkstra usa heap (fila de prioridade)?

Eu tentei usar Algoritmo de Djikstra no gráfico ponderado cíclico sem usar fila de prioridade (pilha) e funcionou.

Então eu procurei no google que "por que diabos precisamos de uma fila de prioridades para implementar isso ??" Como resultado da pesquisa, consultei a Wikipedia, onde fiquei sabendo que a implementação original não usa a fila Priority e é executada em O (| V | 2), ou seja, V square time.

Agora, se apenas removermos a fila de prioridade e usarmos a fila normal, o tempo de execução será linear, ou seja, O (V + E).

Por favor, alguém sugerir então por que precisamos de fila de prioridade?

questionAnswers(5)

yourAnswerToTheQuestion