Questão nº 44

Questão de Tecnologia da Informação · FGV TRF1 2024 (nº 44)

FGV2024Técnico Judiciário - Desenvolvimento de SistemasTecnologia da Informação
Gabarito: Dver comentário ↓

Considere as afirmações a seguir.
I. Função de Hash: h(x) = x % 10 mapeia uma chave x para um
índice entre 0 e 9.
II. Operação de Módulo: % retorna o resto da divisão.
III. Colisões: quando várias chaves mapeiam para o mesmo
índice, ocorre uma colisão.
IV. Encadeamento: técnica para resolver colisões na qual cada
posição na tabela contém uma lista de chaves.
Nesse contexto, o analista Zudo está implementando um sistema
de armazenamento de dados utilizando uma tabela Hash de
tamanho 10. Ele escolhe a função de Hash h(x) = x % 10 para
mapear as chaves. Ao enfrentar o desafio das colisões, Zudo opta
pela técnica de encadeamento para gerenciá-las. Ele então insere
as chaves {15, 25, 35, 45, 55} na tabela Hash.
A estrutura final dessa tabela será:

Resposta comentada

Gabarito Alternativa D

Uma Tabela Hash é como um armário com várias gavetas (índices), onde uma função de hash decide em qual gaveta cada item será guardado. Se duas chaves diferentes tentam ir para a mesma gaveta, ocorre uma colisão. Para resolver isso, o encadeamento faz com que cada gaveta possa guardar uma lista de itens, em vez de apenas um.

  • (A) Incorreta: Esta alternativa distribui as chaves para índices diferentes (15 para 5, 25 para 6, etc.), o que não ocorre com a função h(x)=x%10h(x) = x \% 10 para as chaves dadas.
  • (B) Incorreta: Semelhante à alternativa A, ela distribui incorretamente as chaves 35, 45 e 55 para outros índices, quando todas deveriam ir para o índice 5.
  • (C) Incorreta: Esta é a alternativa mais tentadora. Ela acerta ao colocar 15, 25, 35 e 45 no índice 5, mas erra ao colocar 55 no índice 9. A armadilha é um erro de cálculo para a última chave: 55%10=555 \% 10 = 5, não 9.
  • (D) Correta: A função de hash h(x)=x%10h(x) = x \% 10 aplicada a cada chave resulta em:
    • h(15)=15%10=5h(15) = 15 \% 10 = 5
    • h(25)=25%10=5h(25) = 25 \% 10 = 5
    • h(35)=35%10=5h(35) = 35 \% 10 = 5
    • h(45)=45%10=5h(45) = 45 \% 10 = 5
    • h(55)=55%10=5h(55) = 55 \% 10 = 5
      Como todas as chaves mapeiam para o mesmo índice (5) e a técnica de encadeamento é usada, todas as chaves serão adicionadas à lista no índice 5. Os outros índices permanecerão vazios.
  • (E) Incorreta: Esta alternativa coloca corretamente todas as chaves no índice 5, mas duplica a chave 55, colocando-a também no índice 9, o que está incorreto.

Fonte: FGV TRF1 2024 Técnico Judiciário - Desenvolvimento de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho