Junior — Middle
Pode explicar o que é um índice hash e qual o papel que desempenha na otimização da pesquisa de dados?
sobes.tech IA
Resposta da IA
O índice de hash é uma estrutura de dados usada para procurar rapidamente registros numa base de dados por chave. Baseia-se numa função de hash que transforma o valor da chave num índice (hash), através do qual se pode encontrar rapidamente o registo necessário.
Papel do índice de hash na otimização da pesquisa:
- Permite realizar operações de pesquisa, inserção e remoção em tempo constante em média (O(1)), o que é muito mais rápido do que uma pesquisa sequencial.
- É especialmente eficiente para buscas exatas por chave, mas não é adequado para consultas por intervalo (por exemplo, procurar todos os valores numa faixa).
Exemplo: se tiver uma tabela de utilizadores com um identificador único, um índice de hash neste identificador permitirá encontrar rapidamente o utilizador sem percorrer todos os registos.
Em Go, pode-se representar uma implementação simples de um índice de hash usando um mapa incorporado:
// Exemplo de um índice de hash simples
utilizadores := make(map[int]string) // chave - ID do utilizador, valor - nome
// Adicionar
utilizadores[101] = "Ivan"
// Procurar
nome, existe := utilizadores[101]
if existe {
fmt.Println("Utilizador encontrado:", nome)
}