Algoritmo de Dijkstra con cola de prioridad mínima

Estoy intentando implementar el algoritmo dijkstra con la cola de prioridad, pero no puedo entender cómo funciona. Leí muchas guías en la web, pero no puedo entender este algoritmo en absoluto.

Mi pregunta es: ¿cuál es la prioridad para cada nodo? Creo que es el peso del borde entrante con valor mínimo, pero no estoy seguro. ¿Es esto cierto?

Segunda pregunta, cuando extraigo la raíz de la cola, ¿cómo funciona si este nodo no es adyacente a ninguno de los nodos visitados?

Respuestas a la pregunta(1)

Su respuesta a la pregunta