Que tiene que ver que existan o no las clases con la cantidad de maneras de hacer un fileout a priori cargable?
2010/12/21 Guillermo Schwarz <[email protected]>: > El ùnico problema es que asumes que las clases no existen ya en la imagen a > las que las vas a subir, y ese puede no ser el caso. > Creo que es màs inteligente asumir que existe un paquete que agrupa clases > relacionadas y que està versionado. Al versionarlo sè que si subo el paquete > XXX-v.2.0, debo primero eliminar el paquete XXX-v1.0. > Entonces puedes establecer dependencias entre paquetes junto con sus > versiones. > El caso que quieres resolver es sólo còmo guardar un paquete de manera que > luego al leerlo las clases suban en el orden correcto, y creo que dado los > requerimientos que hiciste, la respuesta es simplemente recorrer las clases > del paquete, anotar las dependencias y guardar sòlo las clases: > 1. Que no tienen dependencias. > 2. Cuyas dependencias ya estàn guardadas. > Una simplificaciòn equivalente del algoritmo anterior: > 1. Guarda todas las clases del paquete en un set. > 2. Saca una clase del set. Si la clase tiene dependencias, llama > recursivamente a guardar su dependencia. > 3. Guarda la clase en el archivo (file-out). > 4. Cuando no hay màs clases en el set, termina. > 5. Goto 2 > Saludos, > Guillermo. > > 2010/12/20 Andres Valloud <[email protected]> >> >> A ver... supongan la siguiente jerarquia de clases: >> >> A1 >> B1 >> C1 >> C2 >> D1 >> B2 >> C3 >> D2 >> D3 >> D4 >> C4 >> >> Cuantas maneras hay de hacer un fileout de las definiciones de clase >> de tal manera que se pueda hacer un file in en otra imagen? O sea, el >> problema es que no se puede hacer un file out de C4 antes de B2 porque >> si no cuando se hace file in de C4, su superclase B2 no existe. >> >> Es mas o menos facil encontrar una cota inferior. Haciendo breadth >> first, hay 4 layers de clases con tamaños 1, 2, 4 y 4. Por lo tanto, >> hay por lo menos 1! x 2! x 4! x 4! = 1152 maneras de hacer un file out >> correctamente. Sin embargo, cuando busque exhaustivamente, encontre >> 18900 ordenes diferentes. Pero bueno, 18900 es 2^2 * 3^3 * 5^2 * 7. >> Entonces, pregunta... alguien sabe como calcular el numero de posibles >> file outs sin tener que buscar exhaustivamente? Es mas o menos claro >> que ese numero es el numero posible de traversals de un tree. Como se >> calcula eso? Hay algun resultado ya hecho? >> >> Andres. >> >> -- >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> >> http://www.clubSmalltalk.org > > > -- > Saludos cordiales, > > Guillermo Schwarz > Sun Certified Enterprise Architect > > -- > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > > http://www.clubSmalltalk.org -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org
