Junior — Middle
Como aceder aos elementos nas estruturas de dados Map usando uma função hash?
sobes.tech IA
Resposta da IA
Em Go, as estruturas de dados Map são implementadas com base em tabelas de hash. Quando se acede a um elemento por chave, o seguinte acontece:
- A chave passa por uma função de hash que calcula um código de hash.
- O código de hash é usado para determinar o índice do balde (bucket) na matriz.
- No balde, procura-se o elemento com a chave correspondente (geralmente por comparação de chaves).
Isto garante um tempo de acesso amortizado próximo de O(1).
Exemplo de uso de map em Go:
m := make(map[string]int)
m["apple"] = 5
value := m["apple"] // value == 5
Internamente, para a chave "apple" é calculado um hash, que permite localizar o elemento necessário.