Questão de Algoritmos e Estrutura de Dados — Hashing — FUNDATEC 2023
Algoritmos e Estrutura de Dados›Hashing
Código
qq896686
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Administração de Dados
Em uma tabela hash com tratamento de colisão por endereçamento aberto, qual é a condição de parada do algoritmo de inserção quando não é possível encontrar uma posição livre na tabela?
AExceção de tabela cheia.
BRetorno de erro.
CDupla dispersão.
DRemoção de item aleatório.
ERedimensionamento da tabela.
Revelar gabarito e comentário▾
GabaritoA — Exceção de tabela cheia.
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 – condição de parada na inserção
Gabarito: letra A. Em uma tabela hash que resolve colisões por endereçamento aberto (sondas lineares, quadráticas ou duplo hash), o algoritmo de inserção percorre as posições da tabela até encontrar um slot vazio. Se a tabela estiver completamente preenchida (nenhuma posição livre), a inserção não pode ser concluída; essa situação é a condição de parada por falta de espaço. A alternativa A (Exceção de tabela cheia) descreve exatamente essa condição: o algoritmo para porque constata que a tabela está cheia. As demais alternativas tratam de ações posteriores ou de técnicas de resolução, não da condição que interrompe a inserção.
Condição de Parada
Descrição
Relação com a Inserção
Tabela cheia (Alternativa A)
Nenhum slot livre disponível na tabela
É a condição que interrompe o algoritmo de inserção
Retorno de erro (Alternativa B)
Sinalização de falha na inserção
É uma consequência da condição de parada, não a condição em si
Dupla dispersão (Alternativa C)
Técnica de sondagem para calcular próximo índice
Define como percorrer a tabela, não quando parar
Remoção de item aleatório (Alternativa D)
Ação para liberar espaço
É uma possível ação posterior, não a condição de parada
Redimensionamento da tabela (Alternativa E)
Aumento do tamanho da tabela
É uma resposta à condição de parada, não a condição em si
Alternativa A — ✅ Correta ⟵ GABARITO
A condição de parada do algoritmo de inserção é a inexistência de posição livre, ou seja, a tabela cheia. Nas implementações típicas, isso gera uma exceção (ou sinaliza erro), mas a condição em si é a constatação de que todos os slots estão ocupados.
Alternativa B — ❌ Incorreta
"Retorno de erro" é uma consequência da condição de parada (tabela cheia), não a condição em si. A pergunta é explícita: qual a condição que faz o algoritmo parar? O retorno de erro é o que se faz quando a condição ocorre, mas não é a condição.
Alternativa C — ❌ Incorreta
"Dupla dispersão" (double hashing) é uma das estratégias de sondagem dentro do endereçamento aberto. Ela define como calcular o próximo índice a ser visitado, não a condição de parada.
Alternativa D — ❌ Incorreta
"Remoção de item aleatório" não é uma prática padrão em tabelas hash com endereçamento aberto. Remover um item para liberar espaço é uma possível ação após a parada, mas não é a condição que a causa.
Alternativa E — ❌ Incorreta
"Redimensionamento da tabela" é uma ação corretiva que pode ser tomada quando a tabela fica cheia (realocar para um tamanho maior). Assim como o retorno de erro, não é a condição de parada, mas uma resposta a ela.
PEGA ESSA DICA!
Na prova, lembre-se: a condição de parada do laço de inserção em endereçamento aberto é tabela cheia (ou, equivalentemente, nenhum slot livre). As alternativas que listam ações (lançar exceção, redimensionar, etc.) são confundidas com a condição. Fixe: condição = estado da tabela; ação = o que se faz com esse estado.