Logo Passei Direto
Buscar

[A1] Avaliação do Módulo 1 - Hash e Heap_ Revisão da tentativa

Ferramentas de estudo

Questões resolvidas

Sobre o método da divisão para criar funções hash (h(k)), é correto afirmar que:
a. Uma chave k é mapeada para uma das m posições da tabela hash, na qual a função hash é h(k) = k / m
b. Um número primo não muito próximo de uma potência exata de 2 é uma boa escolha para m (tamanho da tabela).
c. Não é possível utilizar chaves que são cadeias de caracteres neste método.
d. Ao utilizar o método de divisão, em geral, evita-se certos valores de m (tamanho da tabela). Por exemplo, m não deve ser uma potência de 2, já que, se m = 2p, então, h(k) será somente o grupo de p bits de ordem mais baixa de k.
a) Uma chave k é mapeada para uma das m posições da tabela hash, na qual a função hash é h(k) = k / m
b) Um número primo não muito próximo de uma potência exata de 2 é uma boa escolha para m (tamanho da tabela).
c) Não é possível utilizar chaves que são cadeias de caracteres neste método.
d) Ao utilizar o método de divisão, em geral, evita-se certos valores de m (tamanho da tabela). Por exemplo, m não deve ser uma potência de 2, já que, se m = 2p, então, h(k) será somente o grupo de p bits de ordem mais baixa de k.

O tratamento de colisões por encadeamento utiliza listas encadeadas para armazenar chaves sinônimas. Tais listas utilizam ponteiros, o que consome espaço. Para economizá-lo, desenvolveu-se o método denominado endereçamento aberto. A ideia é armazenar as chaves sinônimas também na tabela. Porém, não há uso de ponteiros. As chaves são armazenadas na tabela, sem qualquer informação adicional. Quando ocorre alguma colisão, determina-se, também por cálculo, qual o próximo compartimento a ser examinado. Se ocorrer nova colisão com alguma outra chave armazenada nesse último, um novo compartimento é escolhido mediante cálculo, e assim por diante. Selecione abaixo os métodos que podem ser utilizados nas operações de busca, inserção e remoção do endereçamento aberto:
a. tentativa linear
b. tentativa binária
c. hash duplo
d. tentativa quadrática
a. tentativa linear
b. tentativa binária
c. hash duplo
d. tentativa quadrática

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Sobre o método da divisão para criar funções hash (h(k)), é correto afirmar que:
a. Uma chave k é mapeada para uma das m posições da tabela hash, na qual a função hash é h(k) = k / m
b. Um número primo não muito próximo de uma potência exata de 2 é uma boa escolha para m (tamanho da tabela).
c. Não é possível utilizar chaves que são cadeias de caracteres neste método.
d. Ao utilizar o método de divisão, em geral, evita-se certos valores de m (tamanho da tabela). Por exemplo, m não deve ser uma potência de 2, já que, se m = 2p, então, h(k) será somente o grupo de p bits de ordem mais baixa de k.
a) Uma chave k é mapeada para uma das m posições da tabela hash, na qual a função hash é h(k) = k / m
b) Um número primo não muito próximo de uma potência exata de 2 é uma boa escolha para m (tamanho da tabela).
c) Não é possível utilizar chaves que são cadeias de caracteres neste método.
d) Ao utilizar o método de divisão, em geral, evita-se certos valores de m (tamanho da tabela). Por exemplo, m não deve ser uma potência de 2, já que, se m = 2p, então, h(k) será somente o grupo de p bits de ordem mais baixa de k.

O tratamento de colisões por encadeamento utiliza listas encadeadas para armazenar chaves sinônimas. Tais listas utilizam ponteiros, o que consome espaço. Para economizá-lo, desenvolveu-se o método denominado endereçamento aberto. A ideia é armazenar as chaves sinônimas também na tabela. Porém, não há uso de ponteiros. As chaves são armazenadas na tabela, sem qualquer informação adicional. Quando ocorre alguma colisão, determina-se, também por cálculo, qual o próximo compartimento a ser examinado. Se ocorrer nova colisão com alguma outra chave armazenada nesse último, um novo compartimento é escolhido mediante cálculo, e assim por diante. Selecione abaixo os métodos que podem ser utilizados nas operações de busca, inserção e remoção do endereçamento aberto:
a. tentativa linear
b. tentativa binária
c. hash duplo
d. tentativa quadrática
a. tentativa linear
b. tentativa binária
c. hash duplo
d. tentativa quadrática

Prévia do material em texto

Painel Meus cursos 32010001871-T01-2024-1 📚 Módulo 1
✅ [A1] Avaliação do Módulo 1 - Hash e Heap
Iniciado em quarta, 5 jun 2024, 16:19
Estado Finalizada
Concluída em quarta, 5 jun 2024, 17:03
Tempo
empregado
44 minutos 1 segundo
Avaliar 6,40 de um máximo de 10,00(64%)
Comentários
Questão 1
Correto
Atingiu 1,00 de 1,00
Sobre o método da divisão para criar funções hash (h(k)), é correto afirmar que:
Obs.: Cada alternativa errada que for marcada anula a pontuação que seria recebida por uma alternativa
correta.
Escolha uma ou mais:
a. Uma chave k é mapeada para uma das m posições da tabela hash, na qual a função hash é h(k) = k / m
b. Um número primo não muito próximo de uma potência exata de 2 é uma boa escolha para m
(tamanho da tabela).

c. Não é possível utilizar chaves que são cadeias de caracteres neste método.
d. Ao utilizar o método de divisão, em geral, evita-se certos valores de m (tamanho da tabela). Por
exemplo, m não deve ser uma potência de 2, já que, se m = 2p, então, h(k) será somente o grupo de p
bits de ordem mais baixa de k.

https://ava.ufms.br/my/
https://ava.ufms.br/course/view.php?id=53721
https://ava.ufms.br/course/view.php?id=53721#section-2
https://ava.ufms.br/mod/quiz/view.php?id=738681
Questão 2
Incorreto
Atingiu 0,00 de 1,00
Questão 3
Incorreto
Atingiu 0,00 de 1,00
Questão 4
Correto
Atingiu 1,00 de 1,00
Considerando a lista de min-prioridades formada pelos elementos  12,21,28,23,36,32,41,47,51,49, determinar qual
alternativa descreve a lista resultante da inclusão do elemento 18:
Escolha uma opção:
a. 12,18,28,21,23,32,41,47,51,49,36
b. 12,18,28,23,21,41,32,51,37,49,36
c. 08,12,28,23,21,32,41,47,51,49,36
d. 12,18,28,23,21,32,41,47,51,49,36
Uma função de dispersão h transforma uma chave x em um endereço-base h(x) da tabela de dispersão. Uma
função de dispersão ideal deve satisfazer às seguintes condições:
I) não produzir um número elevado de colisões;
II) o tempo consumido para calcular h(x) deve ser crítico;
III) a função h deve ser tal que todos os compartimentos possuam a mesma probabilidade de serem escolhidos.
É correto afirmar que:
Escolha uma opção:
a. I e II estão corretas
b. II e III estão corretas
c. I, II e III estão corretas
d. I e III estão corretas
Considere uma tabela Hash T com tamanho M = 7 e função de mapeamento pelo método da divisão. Qual o
número de colisões na tabela, se os seguintes valores forem inseridos nesta ordem: 70, 7, 12, 9, 23, 14?
Resposta: 3 
Questão 5
Incorreto
Atingiu 0,00 de 1,00
Questão 6
Correto
Atingiu 1,00 de 1,00
Na implementação de listas de prioridades, podemos utilizar três abordagens, mais detalhadas abaixo.
Classifique os trechos com V(verdadeiro) ou F (falso) e escolha uma das alternativas:
 Na implementação por lista não ordenada, um novo nó da tabela pode ser colocado em qualquer posição
conveniente, dependendo do tipo de alocação utilizada, sequencial ou encadeada e a remoção implica
percorrer a tabela em busca do elemento de maior prioridade; 
 Na implementação por lista ordenada, a remoção é imediata porque, estando as prioridades já ordenadas,
o primeiro elemento é o que interessa 
 Na implementação por lista não ordenada, a inserção obriga a um percurso pela lista para procurar sua
posição correta; 
 Na implementação por heap, o campo de prioridade aparece como rótulo do nó e os nós são numerados
sequencialmente da raiz para os níveis mais baixos, da esquerda para a direita; 
 Na implementação por heap, a tabela não pode ser disposta numa árvore binária completa, na qual o
elemento de maior prioridade seja sempre o primeiro da ordenação, isto é, a raiz da árvore.
Escolha uma opção:
a. F, F, V, F, V
b. V, F, F, V, F
c. V, F, F, F, V
d. V, V, F, V, V
e. V, V, F, V, F
O tratamento de colisões por encadeamento utiliza listas encadeadas para armazenar chaves sinônimas. Tais
listas utilizam ponteiros, o que consome espaço. Para economizá-lo, desenvolveu-se o método denominado
endereçamento aberto. A ideia é armazenar as chaves sinônimas também na tabela. Porém, não há uso de
ponteiros. As chaves são armazenadas na tabela, sem qualquer informação adicional. Quando ocorre alguma
colisão, determina-se, também por cálculo, qual o próximo compartimento a ser examinado. Se ocorrer nova
colisão com alguma outra chave armazenada nesse último, um novo compartimento é escolhido mediante
cálculo, e assim por diante. Selecione abaixo os métodos que podem ser utilizados nas operações de busca,
inserção e remoção do endereçamento aberto:
Obs.: Cada alternativa errada que for marcada anula a pontuação que seria recebida por uma alternativa
correta.
Escolha uma ou mais:
a. tentativa linear
b. tentativa binária
c. hash duplo
d. tentativa quadrática
Questão 7
Parcialmente correto
Atingiu 0,80 de 1,00
Questão 8
Correto
Atingiu 1,00 de 1,00
O hash duplo oferece um dos melhores métodos disponíveis para endereçamento aberto porque as
permutações produzidas têm muitas das características de permutações escolhidas aleatoriamente. Para um
dado d qualquer e uma tabela hash de tamanho M, o hash duplo usa uma função hash da forma: 
h(d) = (h (d) + passo * h (d)) % M
Considerando uma tabela hash T de tamanho M=11, h (d)=d mod M, h (d)=(1+ d mod 7) ,
simule a inserção, nesta ordem, das chaves: 54, 72, 32, 70, 47. Relacione abaixo cada chave com sua posição na
tabela.
h(70) 
h(54)  
h(32) 
h(47) 
h(72) 
1 2
1 2
5
10
4
3
3
Considerando a lista de max-prioridades formada, nesta ordem, pelos elementos 83,72,64,67,53,59,62,58,46,52,
determinar a lista resultante da alteração de prioridade do 9o. elemento de prioridade 46 para 84:
84  83  64  72  53  59  62  58  67  52 
 
Questão 9
Correto
Atingiu 1,00 de 1,00
Questão 10
Parcialmente correto
Atingiu 0,60 de 1,00
Ao comparar duas formas comuns de implementação de listas de prioridade, uma usando lista ordenada e
outra usando heap binária, ambos armazenados em vetor, conclui-se que:
Escolha uma opção:
a. Heap binária é mais indicada, pois apresenta complexidade O(1) para inserção e remoção e O(log n)
para consulta;
b. Lista ordenada é mais indicada, pois apresenta complexidade O(1) para inserção, remoção e consulta;
c. Heap binária é mais indicada, pois apresenta complexidade O(log n) para inserção e remoção e O(1)
para consulta;

d. Ambas as escolhas são boas, pois apresentam as mesmas complexidades para inserção, remoção e
consulta;
e. Lista ordenada é mais indicada, pois, apesar de sua complexidade de inserção ser O( n ), suas
complexidades de remoção e consulta são O( 1 );
No tratamento de colisões por encadeamento em uma tabela hash T, uma posição j qualquer da tabela possui
uma lista encadeada contendo todos os elementos que, após o hash, foram mapeados para a posição j; se não
houver nenhum desses elementos, a posição j possuirá uma  .
Nesse tipo de tratamento de colisão, o tempo de execução do pior caso para a 
em uma tabela hash com tratamento de colisões por encadeamento é  .  Para a
  , o tempo de execução do pior caso é proporcional ao
  .
lista vazia
operação de busca
O(1)
operação de inserção
comprimento da lista
Atividade anterior
◄ 📍 [Checkout de Presença] Módulo 1 - Hash e Heap
Seguir para...
Próxima atividade
▶ Videoaula Obrigatória - Módulo 2 - Unidade 1 - Conceitos, algoritmo de inserção e algoritmo de busca ►
Manter contato
Suporte Técnico ao Usuário
 https://suporteagetic.ufms.br
 (67) 3345-7613
https://ava.ufms.br/mod/quiz/view.php?id=738679&forceview=1
https://ava.ufms.br/mod/url/view.php?id=738683&forceview=1
https://suporteagetic.ufms.br/
tel:(67) 3345-7613
 suporte.agead@ufms.br

mailto:suporte.agead@ufms.br
https://api.whatsapp.com/send?phone=556733457613

Mais conteúdos dessa disciplina