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.