Sobes.tech
Junior

¿Qué es una tabla hash?

sobes.tech AI

Respuesta de la IA

Una tabla hash es una estructura de datos que implementa un array asociativo (diccionario). Almacena pares de "clave-valor", donde las claves son únicas.

Principios básicos:

  • Función hash: Convierte la clave en un número (código hash o índice). Este índice indica la ubicación del valor en el array (cesta).
  • Array (cestas): Almacenamiento real de los pares "clave-valor".
  • Colisiones: Situación en la que diferentes claves generan el mismo código hash.

Solución a las colisiones:

  • Método de encadenamiento (Separate chaining): Cada cesta almacena una lista (u otra estructura de datos) de elementos con el mismo código hash.
  • Dirección abierta (Open addressing): En caso de colisión, se busca una cesta libre utilizando diferentes estrategias (sondeo lineal, sondeo cuadrático, doble hashing).

Características:

  • Acceso rápido: En el caso ideal O(1) para inserciones, búsquedas y eliminaciones.
  • Dependencia de la función hash: La calidad de la función hash y la estrategia de resolución de colisiones afectan mucho el rendimiento.
  • Uso de memoria: Requiere memoria adicional para el array de cestas.

Uso en QA:

  • Almacenamiento de datos de prueba (clave - nombre del parámetro, valor - valor esperado o real).
  • Verificación de la unicidad de los elementos (por ejemplo, ID de usuarios).
  • Implementación de cachés.