Example #1
0
    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
Example #2
0
    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)