@@ -164,6 +164,7 @@ def dijkstra():
164
164
predecessor = {}
165
165
custo = {}
166
166
menor_custo = {}
167
+ adjacentes = {}
167
168
168
169
# mensagem de boas vindas / relembrar quais vertices existem no grafo
169
170
print '\n Voce selecionou o algoritmo de DIJKSTRA\n A seguir o nome dos vertices do seu grafo:\n V = {' ,
@@ -173,10 +174,11 @@ def dijkstra():
173
174
else :
174
175
print vertices [i ] + ' }'
175
176
176
- # loop para selecionar vertice raiz
177
+ # loop para selecionar vertice raiz e destino
177
178
while True :
178
179
no_inicial = raw_input ('Qual sera o seu no inicial(Raiz)?\n ' )
179
- if (no_inicial not in vertices ):
180
+ no_final = raw_input ('E o seu no final?\n ' )
181
+ if ((no_inicial not in vertices ) or (no_final not in vertices )):
180
182
print 'Por favor, digite um vertice que realmente exista no grafo\n A seguir os vertices do seu grafo:\n V = {' ,
181
183
for i in range (len (vertices )):
182
184
if (i < len (vertices )- 1 ):
@@ -194,7 +196,19 @@ def dijkstra():
194
196
custo [arestas [i ]] = pesos [i ]
195
197
196
198
# descobrir os vizinhos do vertice raiz
197
-
199
+ aux = []
200
+ for i in range (len (arestas )):
201
+ for j in range (2 ):
202
+ if (arestas [i ][j ] == no_inicial ):
203
+ if (j == 1 ):
204
+ predecessor [arestas [i ][0 ]] = no_inicial
205
+ aux .append (arestas [i ][0 ])
206
+ elif (j == 0 ):
207
+ aux .append (arestas [i ][1 ])
208
+ predecessor [arestas [i ][1 ]] = no_inicial
209
+ adjacentes [no_inicial ] = aux
210
+
211
+ print adjacentes
198
212
199
213
200
214
#g.vcount()
0 commit comments