def __arbol(self, arbol, ciudad_id, lista): tiempos = self.trts[ciudad_id] pos_aux = [] for pos in range(self.total): if tiempos[pos] and not lista[pos]: nodo = NodoGeneral() nodo.setDato(self.ciudades[pos].get('nombre'), tiempos[pos]) #new_arbol = ArbolGeneral(nodo) #arbol.agregarHijo(new_arbol) arbol.agregarHijo(nodo) #print "agrego Arbol {} a {}".format(new_arbol, arbol) lista[pos] = True pos_aux.append(pos) #self.__arbol(new_arbol, pos, lista) rec_hijos = arbol.getHijos().recorredor() try: rec_hijos.comenzar() pos = 0 while not rec_hijos.fin(): self.__arbol(rec_hijos.elemento(), pos_aux[pos], lista) rec_hijos.proximo() pos += 1 except: pass
def generar_arboles(self): for ciudad in self.ciudades.items(): lista = self.crear_lista() nodo_raiz = NodoGeneral() nodo_raiz.setDato(self.ciudades[ciudad[0]].get('nombre'), 0) arbol = ArbolGeneral(nodo_raiz) #lista[0] = True lista[ciudad[0]] = True self.__arbol(arbol, ciudad[0], lista) self.imprimir(arbol)