Esta es probablemente una pregunta estúpida, pero no puedo por amor de Dios averiguar qué me falta aquí en la teoría detrás de las tablas hash con encadenamiento.¿Cómo implementar la tabla hash con el encadenamiento?
Esto es lo que entiendo:
Una tabla hash utiliza un hash para asociar una clave a un lugar donde se almacena un valor. A veces, un hash producirá la misma ubicación para diferentes claves, es decir, pueden producirse colisiones.
En este caso podemos implementar el encadenamiento almacenando todos los valores con la misma ubicación en una lista vinculada en esa ubicación.
Lo que no entiendo es lo siguiente:
Cuando se introduce una llave y la función de hash produce una ubicación en la que está el encadenamiento, ¿cómo determinar qué valor en la lista enlazada en ese lugar pertenece a esa clave específica, a diferencia de otra clave involucrada en la colisión?
Me doy cuenta de que esta es la teoría básica, pero si alguien puede señalar errores en mi razonamiento o decirme lo que me falta, lo agradecería muchísimo.
hay una buena discusión de eso en la especificación de formato ELF. De hecho, lo entendí al mismo tiempo, o pensé que lo hice: ^) –