Matemática Múltipla Escolha

As Tabelas Hash podem usar diferentes estratégias para lidar com colisões (quando duas chaves diferentes geram o mesmo índice). Suponha que estamos inserindo nomes em uma Tabela Hash de 10 posições. A função hash gera o índice 3 para “Carlos” e, em seguida, gera o mesmo índice 3 para “Amanda”. Se a Tabela Hash utilizar a estratégia de Encadeamento (Chaining), o que acontecerá ao inserir “Amanda”?

As Tabelas Hash podem usar diferentes estratégias para lidar com colisões (quando duas chaves diferentes geram o mesmo índice). Suponha que estamos inserindo nomes em uma Tabela Hash de 10 posições. A função hash gera o índice 3 para “Carlos” e, em seguida, gera o mesmo índice 3 para “Amanda”. Se a Tabela Hash utilizar a estratégia de Encadeamento (Chaining), o que acontecerá ao inserir “Amanda”?

  1. A inserção de “Amanda” falhará, pois a posição 3 já está ocupada por “Carlos”.
  2. “Amanda” será armazenada na próxima posição livre do vetor (índice 4), seguindo a lógica da sondagem linear.
  3. “Amanda” será adicionada a uma lista encadeada que começa no índice 3, com “Carlos” já presente nela.
  4. O valor “Carlos” será sobrescrito pelo valor “Amanda” no índice 3.
  5. A tabela inteira será redimensionada para um tamanho maior para evitar a colisão.

Resolução completa

Explicação passo a passo

C
Alternativa C

Alternativa C

Análise do Conceito

Para responder corretamente, é necessário entender como as Tabelas Hash lidam com colisões. Uma colisão acontece quando dois elementos distintos geram o mesmo índice após aplicação da função hash.

Existem duas abordagens principais para resolver esse problema:

  1. Endereçamento Aberto (Open Addressing): Os elementos são armazenados diretamente no array. Se houver colisão, busca-se a próxima posição livre disponível.
  2. Encadeamento (Chaining): Cada posição do array armazena um ponteiro para uma estrutura de dados externa (geralmente uma Lista Encadeada), onde todos os elementos que colidiram naquele índice são armazenados.

Justificativa Didática

No enunciado, temos a estratégia de Encadeamento (Chaining). Vamos analisar o cenário passo a passo:

  • Passo 1: "Carlos" é inserido e gera o índice 3. Ele ocupa a lista naquele slot.
  • Passo 2: "Amanda" é inserida e também gera o índice 3.
  • Passo 3 (Resolução): Como a estratégia é Encadeamento, não buscamos outra posição no array (como faríamos na Sondagem Linear). Em vez disso, adicionamos "Amanda" à lista que já existe no índice 3.

Por que as outras alternativas estão incorretas?

AlternativaMotivo do Erro
AO Encadeamento foi criado justamente para permitir múltiplos itens no mesmo índice sem falha.
BEssa descrição corresponde à Sondagem Linear (um tipo de Endereçamento Aberto), onde se procura a próxima posição vazia.
DSobrescrever apagaria o registro de "Carlos", perdendo dados. Isso não é uma solução padrão de colisão.
ERedimensionar a tabela é uma operação de manutenção de desempenho (quando a tabela enche demais), não a resposta imediata para uma única colisão.

Portanto, a alternativa C descreve exatamente o comportamento do Encadeamento: adicionar o novo elemento à lista encadeada existente no índice colidido.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.