Questão de TI - Desenvolvimento de Sistemas — Lista, Fila e Pilha — FGV 2024
TI - Desenvolvimento de SistemasLista, Fila e Pilha
- Código
- fg165424
- Banca
- FGV
- Órgão
- CVM
- Ano
- 2024
- Cargo
- Ana ( )
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:
- Ao valor dos códigos ASCII, obtidos pela função Ord, deve ser multiplicado por N;
- Ba soma dos códigos ASCII deve ser feita do final para o início do campo email de M;
- Co número N deve ser primo;
- Da mensagem M deve ser incluída na lista da posição N – H do vetor V;
- Eo número N precisa ser par.