Professional Documents
Culture Documents
TP: Algorithme Dijkstra: 1. Implémentation Du Graphe
TP: Algorithme Dijkstra: 1. Implémentation Du Graphe
TP: Algorithme Dijkstra: 1. Implémentation Du Graphe
ipynb - Colaboratory
TP : Algorithme Dijkstra
1. Implémentation du graphe
G = {
'A':[(1,'B'), (2,'C')],
'B':[(1,'A'), (2,'D'), (3,'F')],
'C':[(2,'A'), (3,'D'), (4,'E')],
'D':[(2,'B'), (3,'C'), (3,'F'), (2,'E'), (3,'G')],
'E':[(4,'C'), (2,'D'), (5,'G')],
'F':[(3,'B'), (3,'D'), (4,'G')],
'G':[(4,'F'), (3,'D'), (5,'E')],
}
M = [
[0, 1, 2, 0, 0, 0, 0],
[1, 0, 0, 2, 0, 3, 0],
[2, 0, 0, 3, 4, 0, 0],
[0, 2, 3, 0, 2, 3, 3],
[0, 0, 4, 2, 0, 0, 5],
[0, 3, 0, 3, 0, 0, 4],
[0, 0, 0, 3, 5, 4, 0]
]
labyrinthe = [
[1,1,1,1,1],
[1,1,0,1,1],
[1,0,0,0,0],
[1,1,1,1,1],
[1,0,0,0,1]
]
plt.axis('equal')
plt.show()
3. Implémentation de dijkstra
noeud_visites = []
file_priorite = PriorityQueue()
file_priorite.put((0, depart))
distance_min = {}
distance_min[depart] = 0
https://colab.research.google.com/drive/1ib696PUovH87W40CHZ-ISFQODUG3L0KH#scrollTo=6695de3b-e6de-49fe-b8ff-44400f1abfd1&printMo… 2/4
14/11/2022 10:16 Algorithme Dijsktra.ipynb - Colaboratory
precedents = {}
noeud_visites.append(noeud_courant)
# Calculer le chemin
chemin = []
x = arrivee
while x!=depart :
chemin.insert(0, x)
x = precedents[x]
chemin.insert(0, x)
https://colab.research.google.com/drive/1ib696PUovH87W40CHZ-ISFQODUG3L0KH#scrollTo=6695de3b-e6de-49fe-b8ff-44400f1abfd1&printMo… 3/4
14/11/2022 10:16 Algorithme Dijsktra.ipynb - Colaboratory
https://colab.research.google.com/drive/1ib696PUovH87W40CHZ-ISFQODUG3L0KH#scrollTo=6695de3b-e6de-49fe-b8ff-44400f1abfd1&printMo… 4/4