Junior — Middle
¿Puede explicar el principio de funcionamiento del hash en la implementación de un mapa (Map)?
sobes.tech AI
Respuesta de la IA
En Go, un mapa (map) se implementa como una tabla hash, donde las claves se transforman en valores hash mediante una función hash. El principio de funcionamiento de la hash en un mapa es el siguiente:
- Para una clave dada, se calcula un código hash, que es un valor numérico que depende del contenido de la clave.
- El código hash se usa para determinar el índice en el array de buckets (cestas), donde se almacena el valor.
- Si hay varios elementos en un bucket (colisión), se realiza una búsqueda mediante una cadena o algún otro mecanismo de resolución de colisiones.
Esto permite encontrar, agregar y eliminar elementos rápidamente por clave con una complejidad amortizada de aproximadamente O(1).
Ejemplo de uso de un mapa en Go:
m := make(map[string]int)
m["apple"] = 5
value := m["apple"] // value == 5
En este ejemplo, la cadena "apple" se hash y el valor 5 se guarda en el bucket correspondiente.