Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def peso_total(grafo,lista):
- suma = 0
- for i in range(0,len(lista)-1):
- suma += dist(grafo,lista[i],lista[i+1])
- print("Costo total:",suma)
- def floyd(grafo, origen):
- dicc_return={}
- vertices=[]
- for vertice in grafo.relaciones:
- dicc_return[vertice] = (origen+ " -> "+vertice,dist(grafo,origen,vertice))
- vertices.append(vertice)
- vertices.pop(vertices.index(origen))
- for i in range(0,len(grafo.relaciones)):
- for salida in vertices:
- for llegada in grafo.relaciones[vertice]:
- if dicc_return[salida][1] + dist(grafo,salida,llegada) < dicc_return[llegada][1]:
- dicc_return[llegada]=(dicc_return[salida][0]+ " -> " + llegada,dicc_return[salida][1]+dist(grafo,salida,llegada))
- return dicc_return
- def camino_minimo(grafo, origen, destino):
- dicc={}
- dicc=floyd(grafo,origen)
- resultado_lista = dicc[destino][0].split(" -> ")
- return resultado_lista
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement