Implementación de Python del algoritmo de Dijkstra

Este artículo sigue el siguiente artículo sobre el algoritmo de Dijkstra: https://128mots.com/index.php/2020/02/17/lalgorithme-de-dijkstra-dans-un-graphe-pondere-et-oriente-en-plus-de-128-mots/

Aquí está la implementación de Python del algoritmo

de colecciones importar deque

def dijkstra (gráfico, vértice):
    cola - deque([vertex])
    distancia ' vértice: 0'
    mientras que la cola:
        t - tail.popleft()
        impresión ("Estamos visitando la cumbre" - str(t))
        para vecino en gráfic[t]o:
                tail.append (vecino)
                nouvelle_distance - distancia [t]- gráfico[t][voisin]
                si (vecino no a distancia o nouvelle_distance< distance):></ distance[voisin]):>
                    distanci[voisin]a a nouvelle_distance
                    imprimir ("Actualizar la cumbre" - str (vecino) - " con distancia: " - str(nouvelle_distance))
                    
    distancia de retorno



gráfico ajacence #Liste
gráfico ''A':'B':15,'C':4','B':'E':5','C':':'E':11,'D':2','D':'E':3','E':
distancia - dijkstra (gráfico, 'A')
impresión ("Distancias" - str (distancia))