Sobes.tech
Junior — Middle

¿Puede explicar el principio de funcionamiento de una tabla hash y cómo se almacenan los datos en ella?

sobes.tech AI

Respuesta de la IA

Una tabla hash es una estructura de datos que proporciona acceso muy rápido a los datos mediante una clave. Su funcionamiento se basa en el uso de una función hash, que transforma la clave en un índice de un array donde se almacena el valor correspondiente.

Cuando se necesita guardar un par clave-valor, la función hash calcula el índice, y los datos se colocan en la celda del array en ese índice. Al buscar por clave, la función hash vuelve a calcular el índice, y se encuentra rápidamente el valor necesario.

Si dos claves diferentes generan el mismo índice (colisión), generalmente se utiliza el método de cadenas: en la celda se almacena una lista de todos los elementos con ese índice, y la búsqueda se realiza en esa lista.

Ejemplo en Dart (Flutter):

void main() {
  Map<String, int> hashTable = {};
  hashTable['apple'] = 5;
  hashTable['banana'] = 3;

  print(hashTable['apple']); // 5
}

Aquí, Map es una implementación de una tabla hash, donde la clave es una cadena y el valor es un número.