Advertisement
Guest User

Untitled

a guest
Jul 15th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. def peso_total(grafo,lista):
  2. suma = 0
  3. for i in range(0,len(lista)-1):
  4. suma += dist(grafo,lista[i],lista[i+1])
  5. print("Costo total:",suma)
  6.  
  7.  
  8. def floyd(grafo, origen):
  9. dicc_return={}
  10. vertices=[]
  11. for vertice in grafo.relaciones:
  12. dicc_return[vertice] = (origen+ " -> "+vertice,dist(grafo,origen,vertice))
  13. vertices.append(vertice)
  14. vertices.pop(vertices.index(origen))
  15.  
  16. for i in range(0,len(grafo.relaciones)):
  17. for salida in vertices:
  18. for llegada in grafo.relaciones[vertice]:
  19. if dicc_return[salida][1] + dist(grafo,salida,llegada) < dicc_return[llegada][1]:
  20. dicc_return[llegada]=(dicc_return[salida][0]+ " -> " + llegada,dicc_return[salida][1]+dist(grafo,salida,llegada))
  21. return dicc_return
  22.  
  23.  
  24. def camino_minimo(grafo, origen, destino):
  25. dicc={}
  26. dicc=floyd(grafo,origen)
  27. resultado_lista = dicc[destino][0].split(" -> ")
  28. return resultado_lista
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement