Questão 26 Comentada - Comissão de Valores Mobiliários (CVM) - Analista CVM - Perfil 8 - TI / Sistemas e Desenvolvimento - Tarde - FGV (2024)

Para acelerar a busca sobre uma lista de mensagens, Beatriz adotou uma tabela de dispersão, na qual o e-mail do emissor é quem define o hash.

N: INTEIRO V: VETOR [0..N-1] de LISTA<MENSAGEM> Algoritmo Adicionar (M: MENSAGEM) H <- 0 Para i de 0 até Tamanho (M.email) - 1 H <- H + Ord (M.email[i]) Fim Para H <- H Mod N V[H].Incluir(M) Fim Algoritmo

O hash é dado pelo resto da divisão entre a soma dos códigos ASCII do email e o tamanho do vetor de listas. Para que Beatriz obtenha a melhor distribuição das mensagens nas listas:

  • A o valor dos códigos ASCII, obtidos pela função Ord, deve ser multiplicado por N;
  • B a soma dos códigos ASCII deve ser feita do final para o início do campo email de M;
  • C o número N deve ser primo;
  • D a mensagem M deve ser incluída na lista da posição N – H do vetor V;
  • E o número N precisa ser par.

Gabarito comentado da Questão 26 - Comissão de Valores Mobiliários (CVM) - Analista CVM - Perfil 8 - TI / Sistemas e Desenvolvimento - Tarde - FGV (2024)

Vamos analisar a questão de Tabelas de Dispersão. A questão aborda a escolha do tamanho (N) de uma tabela de dispersão e como isso afeta a eficiência da estrutura. A função de hash utilizada soma os valores ASCII dos caracteres do email e calcula o resto da divisão por N. Analisando as alternativas: A - o valor dos códigos ASCII, obtidos pela função Ord, deve ser multiplicado por N: Incorreta. Multiplicar por N não melhora a distribuição, apenas aumenta o valor de hash. B - a soma dos códigos...

Somente usuários Premium podem acessar aos comentários dos nossos especialistas...

Que tal assinar um dos nossos planos e ter acesso ilimitado a todas as resoluções de questões e ainda resolver a todas as questões de forma ilimitada?

São milhares de questões resolvidas!

Assine qualquer plano e tenha acesso a todas as vantagens de ser Premium