switch (argc)
{
case 2: //Gale-Sharpley por default
- // N * 2 para asegurar que el hash este ocupado al 50% y sea O(1)
- susanita = new GaleShapley(Parser::get_n(argv[1]) * 2);
+ // 2N*2 para asegurar que el hash este ocupado al 50%
+ // y sea O(1) (2N porque guarda nombres de mujer y de
+ // hombre y * 2 para que esté ocupado al 50%)
+ susanita = new GaleShapley(Parser::get_n(argv[1]) * 4);
break;
case 3: // BackTracking se especifica con tercer parámetro "-bt"
if (strcmp(argv[2], "-bt"))
std::cerr << "Uso: " << argv[0] << " archivo_entrada [-bt]\n";
return 1;
}
- // N * 2 para asegurar que el hash este ocupado al 50% y sea O(1)
- susanita = new BackTracking (Parser::get_n(argv[1]) * 2);
+ // Ver anterior
+ susanita = new BackTracking (Parser::get_n(argv[1]) * 4);
break;
default:
std::cerr << "Uso: " << argv[0] << " archivo_entrada [-bt]\n";
return 2;
}
-
- // N * 2 para asegurar que el hash este ocupado al 50% y sea O(1)
Parser p(*susanita);
-
if (!p.input(argv[1]))
{
std::cerr << "Error al abrir el archivo '" << argv[1] << "'\n";
}
timer t;
susanita->casamentear();
- std::cerr << t << "\n";
p.output();
-
// Todo OK
delete susanita;
return 0;