README
Por:
- Eric de la Goublaye de Ménorval
- Nicolas Cheker




  1. Programa:
  2.     Las Tablas Hash   son de uso frecuente en la actualidad, sobretodo en el area de Almacenamiento y Recuperación de la Información.

        En esta tarea decidimos hacer un énfasis en que los dispositivos de memoria y de almacenamientos son limitados, por lo que empleamos tablas Hash con cierto tamaña restringido ocasionando así mas colisiones al momento de Inserción y planteando mas dificultad al momento de busqueda, también colocamos una función que transforma los strings en claves simple, lo que ocasiona posibles claves repetidas. Al igual procedemos a colococar en forma aleatoria los string en la tabla hash.

        Todo el manejo dentro de la tabla Hash es en base de Strings, es decir, recuperamos la secuencia de string del archivo plano, y luego se hacen funciones en Base de ASCII para calcular las claves y los indices.

        Existen diferentes metodos de utilizar tablas hash, este programa toma como entrada por defecto una lista de palabras ordenadas en orden alfabético (la cual se encuentra en el archivo wors.txt) y procede a insertarlas a una tabla Hash por diferente métodos. El usuario del programa observará como resultado final para cada método los gráficos equivalentes  a la Cantidad Promedio de Intentos de Inserciones Vs. Factor de Carga y Cantidad Promedio de Intentos de Busqueda Vs. Factor de Carga.
  3. Modo de Uso:
                   Para compilar solamente ejectura en la linea de comando:

# make

    Este programa entrega gráfico para los dos métodos, permite seleccionar si se desea utlizir el método de diagrama  de Hash Multiplicativo y/o Lineal de la siguiente forma

#./diagrama  1                 //Para ver Gráficos con Método de Hash Multiplicativo.
#./diagrama  2                 //Para ver Gráficos con Método de Hash Lineal.
#./diagrama  1 2              //Para ver Gráficos con ambos Métodos.

Para limpiar parametros del Programa:

# make clean                    //Elimina *.o
# make data                      //Elimina *.DAT
# make gnu                       //Elimina *.gnu



NOTA: Cada Archivo y Código esta fuertemenete comentado para mejor entendimiento del Corrector. Las pruebas se realizaron con el archivo words.txt el cual es coherente con el tamaño limitado de nuestra tabla hash.