Hashing Ayuda!

Iniciado por tos123, 22 Octubre 2018, 18:42 PM

0 Miembros y 1 Visitante están viendo este tema.

tos123

Buenas tengo que insertar datos desde un archivo.csv en una tabla hash de 500 elementos por el metodo de prueba lineal y la verdad es que no entiendo nada. Estoy en segundo de carrera y no encuentra una buena explicación.
Gracias por la ayuda.

CalgaryCorpus

Los arreglos usan indices.
Los arreglos tienen datos del mismo tipo.
Define un arreglo que tiene listas.
Cada dato a insertar va en alguna de esas listas, dentro de ese arreglo.
Cual lista tiene que insertarse?
Se calcula usando una funcion que dado el dato, te devuelve un numero, el que usas de indice, o bien, si es mayor que el tamano del arreglo, haces modulo con el tamano del arreglo para obtener un indice valido.

Resumen:

insertar en la lista que esta en   hash_table[ hash_function(dato) % tamano(hash_table) ]

Como buscar?

basta buscar en 1 sola lista, cual?  La misma que se calcula al insertar.

Si tu funcion de hash distribuye bien los datos, tienes varias listas pequenas. Si distribuye mal, tienes pocas listas largas.

El tiempo de insercion y de busqueda tendra relacion con la calidad de la funcion de hash que uses.

Aqui mi perfil en LinkedIn, invitame un cafe aqui

tos123

el problema es que tengo que insertar 500 nombres en una tabla hashing, eso es lo que no entiendo de como hacerlo, tu explicación no me resuelve muchas dudas pero gracias por responder