Advertisement
Guest User

Untitled

a guest
Jul 11th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.94 KB | None | 0 0
  1.  
  2. def viajante(grafo, desde):
  3.     visitados = []
  4.     costo_minimo = float("Inf")
  5.     return _viajante(grafo, desde, desde, visitados, 0, costo_minimo)
  6.  
  7. def _viajante(grafo, origen, vertice, visitados, costo_relativo, costo_minimo):
  8.     final = []
  9.     if vertice not in visitados: visitados.append(vertice)
  10.     print (visitados)
  11.  
  12.     if len(visitados) == grafo.obtener_cantidad_vertices() and origen == vertice:
  13.         visitados.append(origen)
  14.         costo_relativo += grafo.obtener_peso_arista(vertice, origen)
  15.         if (costo_relativo < costo_minimo):
  16.             costo_minimo = costo_relativo  
  17.         return visitados, costo_minimo
  18.  
  19.     for w in grafo.obtener_vertices_adyacentes(vertice):
  20.  
  21.         if w in visitados:
  22.             continue
  23.  
  24.         peso= grafo.obtener_peso_arista(vertice,w)
  25.         recorrido, costo =  _viajante (grafo, origen, w, visitados, costo_relativo, costo_minimo)
  26.         if(len(recorrido)!=0) and costo < costo_minimo:
  27.             costo_minimo = costo
  28.             final = recorrido
  29.  
  30.     return final, costo_minimo
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement