O hashing é uma técnica amplamente utilizada em várias áreas da computação. Esse processo é essencial para a criação de estruturas de dados eficientes, permitindo a indexação eficaz, verificação de integridade de dados e segurança em sistemas de software e redes. Define corretamente a estrutura de dados Hash Table (Tabela de Hashing):
- A)Tabela que armazena dados em ordem alfabética.
Errada, porque tabela hash não organiza dados em ordem alfabética; ela prioriza acesso rápido por chave.
- B)Tabela usada exclusivamente para criptografar senhas.
Errada, porque tabela hash não serve exclusivamente para criptografar senhas, embora hashing possa ser usado em segurança.
- C)Transforma dados em uma representação visual com base na hash table.
Errada, porque hashing não transforma dados em representação visual; ele gera um endereço ou índice para armazenamento e busca.
- D)Estrutura de dados que mapeia chaves para valores com base em funções de hashing.
Certa, porque a tabela hash associa chaves a valores por meio de uma função hash, permitindo acesso eficiente.
Gabarito: D
Hash Table, ou tabela hash, é uma estrutura de dados feita para guardar e localizar informações de forma rápida. A ideia central é simples: você pega uma chave, aplica uma função de hashing e obtém uma posição onde o valor será armazenado. Assim, a busca costuma ser muito eficiente, especialmente quando comparada a estruturas lineares, porque o acesso tende a ser próximo de constante em situações favoráveis. Pense como um armário com várias gavetas numeradas. Em vez de sair abrindo tudo, você usa uma regra para saber em qual gaveta colocar ou procurar o item. Essa regra é a função hash. O objetivo não é organizar em ordem alfabética, mas sim mapear chaves para posições de armazenamento com rapidez. É importante lembrar que podem acontecer colisões, quando duas chaves diferentes geram o mesmo endereço. Nesses casos, a estrutura precisa de estratégias para resolver isso, como encadeamento ou sondagem. Isso faz parte do funcionamento normal da tabela hash e não tira sua utilidade, só exige um bom projeto da função hash. Por isso, o gabarito D está correto: uma Hash Table é justamente uma estrutura de dados que mapeia chaves para valores com base em funções de hashing. Em doutrina de estruturas de dados, esse é o conceito clássico da tabela hash, usada em dicionários, mapas e tabelas de associação.