2019-04-16 16:47:04 +02:00
|
|
|
# Tabela de Hash (Hash Table)
|
|
|
|
|
2022-10-10 10:23:32 -03:00
|
|
|
Na ciência da computação, uma **tabela de hash** (hash table) é uma
|
2019-04-16 16:47:04 +02:00
|
|
|
estrutura de dados pela qual implementa um tipo de dado abstrado de
|
|
|
|
*array associativo*, uma estrutura que pode *mapear chaves para valores*.
|
|
|
|
Uma tabela de hash utiliza uma *função de hash* para calcular um índice
|
|
|
|
em um _array_ de buckets ou slots, a partir do qual o valor desejado
|
|
|
|
pode ser encontrado.
|
|
|
|
|
|
|
|
Idealmente, a função de hash irá atribuir a cada chave a um bucket único,
|
|
|
|
mas a maioria dos designs de tabela de hash emprega uma função de hash
|
|
|
|
imperfeita, pela qual poderá causar colisões de hashes onde a função de hash
|
2022-10-10 10:23:32 -03:00
|
|
|
gera o mesmo índice para mais de uma chave. Tais colisões devem ser
|
2019-04-16 16:47:04 +02:00
|
|
|
acomodados de alguma forma.
|
|
|
|
|
2022-08-11 17:26:11 +02:00
|
|
|

|
|
|
|
|
2019-04-16 16:47:04 +02:00
|
|
|
Colisão de hash resolvida por encadeamento separado.
|
|
|
|
|
2022-08-12 20:45:10 +02:00
|
|
|

|
|
|
|
|
|
|
|
*Made with [okso.app](https://okso.app)*
|
2019-04-16 16:47:04 +02:00
|
|
|
|
|
|
|
## Referências
|
|
|
|
|
|
|
|
- [Wikipedia](https://en.wikipedia.org/wiki/Hash_table)
|
|
|
|
- [YouTube](https://www.youtube.com/watch?v=shs0KM3wKv8&index=4&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)
|