Considere o uso de tabelas hash em aplicações de software. Qual das seguintes afirmações melhor descreve uma vantagem significativa das tabelas hash em operações de busca de dados? Assinale a alternativa correta.
Questão
Considere o uso de tabelas hash em aplicações de software. Qual das seguintes afirmações melhor descreve uma vantagem significativa das tabelas hash em operações de busca de dados? Assinale a alternativa correta.
Alternativas
Tabelas hash sempre garantem acesso em tempo constante, independentemente do número de elementos armazenados.
Tabelas hash organizam os dados sequencialmente, facilitando a busca linear.
Tabelas hash são ideais para operações de busca que requerem acesso rápido, proporcionando tempo de busca quase constante em muitos casos.
Tabelas hash são melhores para armazenar dados que precisam ser acessados em uma ordem específica.
Tabelas hash reduzem a eficiência de busca quando utilizadas em sistemas de alta frequência.
Explicação
Em uma tabela hash, a ideia central é aplicar uma função hash à chave para obter (aproximadamente) a posição onde o elemento deve estar. Isso faz com que, em média, a busca seja muito rápida.
Analisando as alternativas:
-
“Sempre garantem acesso em tempo constante, independentemente do número de elementos” — Incorreta. O tempo pode deixar de ser constante em casos de muitas colisões (pior caso pode chegar a ).
-
“Organizam os dados sequencialmente, facilitando a busca linear” — Incorreta. Tabelas hash não organizam sequencialmente; elas distribuem elementos em índices calculados por hash.
-
“Ideais para busca com acesso rápido, com tempo quase constante em muitos casos” — Correta. No caso médio, operações de busca/inserção/remoção são tipicamente próximas de , desde que a função hash e o fator de carga sejam adequados.
-
“Melhores para dados que precisam ser acessados em uma ordem específica” — Incorreta. Se a ordem importa, estruturas como árvores balanceadas ou listas ordenadas tendem a ser mais apropriadas.
-
“Reduzem a eficiência de busca em sistemas de alta frequência” — Incorreta como regra geral; na prática, são muito usadas justamente por eficiência (embora existam considerações de colisões, cache, concorrência etc.).
Alternativa correta: (C).
Travou em outra questão? A gente resolve.
Crie sua conta grátis e resolva 3 questões por dia com explicação passo a passo, por texto ou foto.