Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Hashing — VUNESP 2021

Algoritmos e Estrutura de DadosHashing
Código
vu065769
Banca
VUNESP
Órgão
TJM-SP
Ano
2021
Nível
Médio
Cargo
Técnico em Comunicação e Processamento de Dados Judiciário (Desenvolvedor)
Uma certa tabela de dispersão (hash) em um programa de computador utiliza a função de espalhamento h(k) = k mod m, em que k é a chave e m é o tamanho de um vetor de listas ligadas indexado por h(k).Para m = 5013, o índice obtido para k = 10034 é
  1. A2.
  2. B8.
  3. C5013.
  4. D5021.
  5. E15047.
Revelar gabarito e comentário

GabaritoB — 8.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Tabela Hash – Função de espalhamento módulo

Gabarito: letra B. O índice é o resto da divisão da chave (k) pelo tamanho (m) da tabela: (h(k) = k \bmod m). Para (k = 10034) e (m = 5013), o resto é (10034 - 2 \times 5013 = 10034 - 10026 = 8).

A questão testa o conceito básico de função hash do tipo módulo, comum em tabelas de dispersão. O cálculo é direto:

  • (5013 \times 2 = 10026)

  • (10034 - 10026 = 8)

Não há pegadinha ou interpretação adicional – basta aplicar a operação de resto.

Alternativa A — ❌ Incorreta

O valor 2 é o quociente da divisão, não o resto. A função hash retorna o resto, que é 8.

Alternativa B — ✅ Correta ⟵ GABARITO

Conforme o cálculo, (10034 \bmod 5013 = 8).

Alternativa C — ❌ Incorreta

5013 é o valor de (m) (tamanho da tabela), não o índice resultante. O resultado do módulo é sempre menor que (m).

Alternativa D — ❌ Incorreta

5021 é a soma (m + 8), não o resto. O resto é a diferença entre (k) e o maior múltiplo de (m) menor ou igual a (k).

Alternativa E — ❌ Incorreta

15047 é a soma (k + m), sem relação com a operação de módulo.

Gabarito: letra B

Link permanente: /questoes/vu065769