Geral
Estruturas de Dados
Semana 4
0

Questão

No estudo de tabelas hash, um problema comum é a ocorrência de colisões, que ocorrem quando duas chaves diferentes geram o mesmo valor de hash e apontam para a mesma posição na tabela. Para tratar essas colisões, podem ser utilizadas várias técnicas, como o encadeamento separado e o teste linear. O encadeamento separado utiliza uma estrutura de dados adicional, geralmente uma lista encadeada, para armazenar todos os elementos que colidem em uma mesma posição.


Qual das alternativas a seguir descreve corretamente o funcionamento do encadeamento separado em uma tabela hash?
A) No encadeamento separado, elementos colididos são armazenados em uma lista encadeada associada à posição original da colisão.
B) No encadeamento separado, elementos colididos são descartados e armazenados em uma tabela hash auxiliar.
C) O encadeamento separado usa uma função hash secundária para realocar elementos colididos em diferentes posições na tabela.
D) O encadeamento separado utiliza uma técnica de sondagem para encontrar a próxima posição livre na tabela onde o elemento colidido será armazenado.
E) O encadeamento separado implementa um algoritmo de ordenação para reordenar os elementos colididos em uma nova sequência.
function vote(questaoId, value) { window.location.href = "/accounts/login/?next=/questao/1291/"; return; fetch(`/vote/questao/${questaoId}/`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': 'bNQqL7pEbTO5KY2aCTtHKMLWrW7BMsUM2j2R9BK8hVzGQzoZp1QOMWVC2c4CTN0P' }, body: JSON.stringify({ value: value }) }) .then(response => response.json()) .then(data => { if (data.success) { document.getElementById(`score-${questaoId}`).textContent = data.score; const upBtn = document.querySelector(`button[onclick="vote(${questaoId}, 1)"]`); const downBtn = document.querySelector(`button[onclick="vote(${questaoId}, -1)"]`); upBtn.classList.remove('active-up'); downBtn.classList.remove('active-down'); if (data.user_vote === 1) upBtn.classList.add('active-up'); if (data.user_vote === -1) downBtn.classList.add('active-down'); } }); }