Determinado profissional deseja criar um sistema para armazenar informações de contato com base no número de telefone. A chave seria o número de telefone e o valor o nome da pessoa. Ao tentar encontrar o nome de alguém, existe uma função que mapeia o número de telefone para a posição na tabela onde o nome está armazenado. Podemos afirmar que uma tabela hash (hash table) em estruturas de dados e algoritmos se trata de
- A)técnica para armazenar valores únicos em uma lista.
Errada, porque hash table não serve para armazenar apenas valores únicos em lista; ela trabalha com chave e valor.
- B)estrutura de dados que organiza os dados em uma árvore binária.
Errada, porque uma tabela hash não organiza os dados em árvore binária, e sim em uma tabela indexada por hash.
- C)tabela que permite a pesquisa de dados usando índices numéricos.
Errada, porque a pesquisa não depende de índices numéricos sequenciais, mas de uma chave convertida por função hash.
- D)estrutura de dados que armazena pares chave-valor e permite pesquisa eficiente com base na chave, empregando uma função de hash.
Certa, porque a tabela hash armazena pares chave-valor e usa uma função hash para localizar os dados de forma eficiente.
Gabarito: D
Uma tabela hash e um jeito de guardar e localizar dados com base em uma chave. Pense nela como um "mapa rápido": voce informa a chave, a função hash transforma essa chave em um índice na tabela, e assim o sistema encontra o valor associado sem precisar vasculhar tudo. No exemplo da questão, o número de telefone funciona como chave e o nome da pessoa como valor. Isso é exatamente a lógica de pares chave-valor. O grande charme da hash table é a eficiência na busca, inserção e remoção, que em média são bem rápidas. Claro, podem acontecer colisões, quando duas chaves caem na mesma posição, e aí entram técnicas como encadeamento ou sondagem. Mas isso não muda a ideia central: o acesso é feito por uma função de hash, não por ordenação em árvore nem por simples índice sequencial. Por isso, o gabarito é a letra D. Ela descreve corretamente a estrutura de dados que armazena pares chave-valor e permite pesquisa eficiente com base na chave, usando função hash. É a definição clássica de hash table em livros de estruturas de dados e algoritmos.