]> git.llucax.com Git - z.facultad/75.29/susanita.git/log
z.facultad/75.29/susanita.git
19 years agoConvierte nombres de home del generador de pruebas a iso-8859-1
Leandro Lucarella [Fri, 4 Nov 2005 06:31:45 +0000 (06:31 +0000)]
Convierte nombres de home del generador de pruebas a iso-8859-1

19 years agoAgrega y usa tabla hash.
Leandro Lucarella [Fri, 4 Nov 2005 06:17:41 +0000 (06:17 +0000)]
Agrega y usa tabla hash.
Este parche agrega una tabla hash de hashing abierto _MUY_ simple, de tamaño
inmutable (elegido al construirla). Sólo se pueden obtener elementos del hash,
no eliminar (total la población de claves no cambia en todo el programa). En
fin, bien específica para este problema.
La implementación consiste en un vector donde cada elemento es una lista donde
cada elemento es una tupla (clave, valor). Si la lista está vacía, entonces esa
posición del hash está vacía, si tiene un elemento obtenerlo es O(1) y si tiene
más (colisión) es O(colision) (no está ordenada ni nada porque podemos
garantizar MUY fácil que casi no haya colisiones dandole una capacidad apropiada
a la tabla hash).
Como para construir la tabla de hash necesitamos saber la cardinalidad de la
población de antemano, hice un hack medio feo pero útil que lee la 1ra línea del
archivo y cuenta la cantidad de nombres en la lista de preferencias de la 1ra
persona, con eso basta para obtener el N del problema. La tabla de hash la crea
con capacidad N * 2 (así tiene un factor de ocupación de 50% como decían en la
práctica).
Por último, uso el hash para Susanita::nombres, cosa que no sé si es del todo
útil (se usa sólo en el parser, calculo que para que el algoritmo sea O(N^2)
deberíamos usar el hash en la resolución). Pero bueno, tenía que ponerlo en
algún lado para probarlo =)

19 years agoImplementa destructor de susanita.
Leandro Lucarella [Thu, 3 Nov 2005 16:25:41 +0000 (16:25 +0000)]
Implementa destructor de susanita.
Ahora libera toda la memoria, así nadie nos puede molestar por esto ;)

19 years agoAgregar el generador de testcases y dos listas con nombres mexicanos.
Alberto Bertogli [Thu, 3 Nov 2005 07:20:04 +0000 (07:20 +0000)]
Agregar el generador de testcases y dos listas con nombres mexicanos.

19 years agoMisma correccion de comprometer_con(), pero para la version en Python.
Alberto Bertogli [Thu, 3 Nov 2005 07:18:57 +0000 (07:18 +0000)]
Misma correccion de comprometer_con(), pero para la version en Python.

19 years agoAcomodar rechazos en comprometer_con().
Alberto Bertogli [Thu, 3 Nov 2005 07:14:54 +0000 (07:14 +0000)]
Acomodar rechazos en comprometer_con().

Hoy estamos agregando a la persona con quien nos comprometemos a la lista de
rechazos de nuestros pretendientes. Esto esta mal.

Nosotros deberiamos agregarnos a la lista de gente que rechazo a cada uno de
nuestros pretendientes, porque precisamente los estamos rebotando.

19 years agoArregla _el_ bug.
Leandro Lucarella [Thu, 3 Nov 2005 07:07:30 +0000 (07:07 +0000)]
Arregla _el_ bug.
Muere maldito! Muere!!!!

19 years agoAgregar el listado de prioridades a mostrar_estado().
Alberto Bertogli [Thu, 3 Nov 2005 06:42:42 +0000 (06:42 +0000)]
Agregar el listado de prioridades a mostrar_estado().

19 years agoSaltar los nombres vacios.
Alberto Bertogli [Thu, 3 Nov 2005 06:32:55 +0000 (06:32 +0000)]
Saltar los nombres vacios.

19 years agoMover el mostrar_estado() mas arriba para que no sea protected.
Alberto Bertogli [Thu, 3 Nov 2005 06:29:12 +0000 (06:29 +0000)]
Mover el mostrar_estado() mas arriba para que no sea protected.

19 years agoMover mostrar_estado() de GaleShapley a Susanita.
Alberto Bertogli [Thu, 3 Nov 2005 05:37:45 +0000 (05:37 +0000)]
Mover mostrar_estado() de GaleShapley a Susanita.

19 years agoCorregir el strip()
Alberto Bertogli [Thu, 3 Nov 2005 05:29:18 +0000 (05:29 +0000)]
Corregir el strip()

19 years agoVersión inicial portada desde python (no funciona).
Leandro Lucarella [Thu, 3 Nov 2005 05:16:27 +0000 (05:16 +0000)]
Versión inicial portada desde python (no funciona).
Esta es la versión inicial portada desde python. Tiene algunos problemas y muere
en un loop infinito, pero para poder arreglarlo sincronizadamente optamos por
subirlo al repo en este estado.
En test/ están los ejemplos de prueba y el programa en python que anda.