Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — FADESP 2018

Algoritmos e Estrutura de DadosEstrutura de Dados
Código
qq333397
Banca
FADESP
Órgão
IF-PA
Ano
2018
Nível
Superior
Cargo
Professor - Informática
Considere que em uma tabela de dispersão (ou tabela hash) de comprimento m = 9, inicialmente vazia, que usa endereçamento aberto, técnica de tentativa linear para resolver colisões e função de dispersão h(k) = k mod m, onde k é a chave a ser inserida, foram inseridas as seguintes chaves: 3, 14, 15, 81, 65, 19, 35, 40 e 50 (nesta ordem). A tabela de dispersão após estas inserções é
  1. A3-19-65-40-14-15-50-35-81.
  2. B81-19-65-3-40-50-14-15-35.
  3. C81-19-65-3-40-14-15-50-35.
  4. D19-65-3-40-14-15-50-35-81.
  5. E19-65-3-40-50-14-15-35-81.
Revelar gabarito e comentário

GabaritoC — 81-19-65-3-40-14-15-50-35.

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 com endereçamento aberto e sondagem linear

Gabarito: letra C. A sequência final da tabela, obtida inserindo as chaves 3, 14, 15, 81, 65, 19, 35, 40, 50 (nesta ordem) em uma tabela hash de comprimento m=9, inicialmente vazia, com função hash h(k)=k mod 9 e tratamento de colisões por sondagem linear, é: [81, 19, 65, 3, 40, 14, 15, 50, 35] (índices 0 a 8).

Simulação passo a passo

  1. Inserir 3: h(3) = 3 mod 9 = 3 → posição 3 vazia → coloca 3.

    Tabela: [_, _, _, 3, _, _, _, _, _]

  1. Inserir 14: h(14) = 14 mod 9 = 5 → posição 5 vazia → coloca 14.

    Tabela: [_, _, _, 3, _, 14, _, _, _]

  1. Inserir 15: h(15) = 15 mod 9 = 6 → posição 6 vazia → coloca 15.

    Tabela: [_, _, _, 3, _, 14, 15, _, _]

  1. Inserir 81: h(81) = 81 mod 9 = 0 → posição 0 vazia → coloca 81.

    Tabela: [81, _, _, 3, _, 14, 15, _, _]

  1. Inserir 65: h(65) = 65 mod 9 = 2 → posição 2 vazia → coloca 65.

    Tabela: [81, _, 65, 3, _, 14, 15, _, _]

  1. Inserir 19: h(19) = 19 mod 9 = 1 → posição 1 vazia → coloca 19.

    Tabela: [81, 19, 65, 3, _, 14, 15, _, _]

  1. Inserir 35: h(35) = 35 mod 9 = 8 → posição 8 vazia → coloca 35.

    Tabela: [81, 19, 65, 3, _, 14, 15, _, 35]

  1. Inserir 40: h(40) = 40 mod 9 = 4 → posição 4 vazia → coloca 40.

    Tabela: [81, 19, 65, 3, 40, 14, 15, _, 35]

  1. Inserir 50: h(50) = 50 mod 9 = 5 → posição 5 ocupada (14) → sondagem linear: próxima posição 6 (ocupada por 15) → posição 7 vazia → coloca 50.

    Tabela final: [81, 19, 65, 3, 40, 14, 15, 50, 35]

Comparação com as alternativas

Alternativa

Sequência

Corresponde?

A

3-19-65-40-14-15-50-35-81

Não

B

81-19-65-3-40-50-14-15-35

Não

C

81-19-65-3-40-14-15-50-35

Sim

D

19-65-3-40-14-15-50-35-81

Não

E

19-65-3-40-50-14-15-35-81

Não

Portanto, a sequência correta é a da alternativa C.

  1. 13 → índice 3
  2. 214 → índice 5
  3. 315 → índice 6
  4. 481 → índice 0
  5. 565 → índice 2
  6. 619 → índice 1
  7. 735 → índice 8
  8. 840 → índice 4
  9. 950 → colisão → índice 7
LEVEL · soulevel.com.br
PEGA ESSA DICA!

Para resolver questões de tabela hash com sondagem linear, simule cada inserção ordenadamente, anotando os índices. Lembre-se de que a sondagem avança de um em um (linearmente) até encontrar um slot vazio, sempre no módulo do tamanho da tabela. Treine esse tipo de exercício para ganhar rapidez.

Link permanente: /questoes/qq333397