Exemplo n.º 1
0
def testDeDijsktra():
    carte = Carte()

    carte.ajouterSommet('a')
    carte.ajouterSommet('b')
    carte.ajouterSommet('c')
    carte.ajouterSommet('d')
    carte.ajouterSommet('e')
    carte.ajouterSommet('f')

    carte.ajouterArete('a', 'b', 7)
    carte.ajouterArete('a', 'c', 9)
    carte.ajouterArete('a', 'f', 14)
    carte.ajouterArete('b', 'c', 10)
    carte.ajouterArete('b', 'd', 15)
    carte.ajouterArete('c', 'd', 11)
    carte.ajouterArete('c', 'f', 2)
    carte.ajouterArete('d', 'e', 6)
    carte.ajouterArete('e', 'f', 9)

    cheminement = Cheminement(carte)

    print 'Carte data:'
    for v in carte:
        for w in v.recupererConnection():
            vid = v.recupererId()
            wid = w.recupererId()
            print '( %s , %s, %3d)'  % ( vid, wid, v.recupererCout(w))

    cheminement.dijkstra(carte.recupererSommet('a'))

    target = carte.recupererSommet('e')
    path = [target.recupererId()]
    cheminement.plusCourtChemin(target, path)
    print 'The shortest path : %s' % (path[::-1])