Questões de Hashing (Algoritmos e Estrutura de Dados)

Limpar Busca

A analista Ana precisou implementar rapidamente uma função hash denominada AHash. A AHash deve determinar um valor numérico entre 0 e 5 para uma chave de entrada. Ana optou por implementar em AHash o método de hashing denominado Método da Divisão. Para compatibilizar possíveis chaves alfanuméricas com o Método da Divisão, Ana implementou um dicionário que atribui a cada caracter um valor numérico. Internamente, a AHash utiliza como chave o produto dos números correspondentes aos caracteres da chave original.
Sabendo que os caracteres C, V e M correspondem, respectivamente, aos números 67, 86 e 77, a AHash retornará para a chave “CVM”:

  • A 0;
  • B 1;
  • C 2;
  • D 3;
  • E 4.

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.

O tipo de criptografia que produz uma sequência única de caracteres a partir de um conjunto de dados é conhecido como

  • A HASH.
  • B DES.
  • C AES.
  • D SAFER.

Uma das finalidades da utilização das funções de hashing é

  • A converter um número inteiro para uma sequência de caracteres.
  • B criptografar um arquivo com senha.
  • C recuperar informações a partir de um arquivo criptografado.
  • D garantir a autenticidade de uma mensagem.
  • E mapear os dados de um objeto para um valor inteiro representativo.
Determinado profissional deseja criar um sistema para armazenar informações de contato com base no número de telefone. A chave seria o número de telefone e o valor o nome da pessoa. Ao tentar encontrar o nome de alguém, existe uma função que mapeia o número de telefone para a posição na tabela onde o nome está armazenado. Podemos afirmar que uma tabela hash (hash table) em estruturas de dados e algoritmos se trata de
  • A técnica para armazenar valores únicos em uma lista.
  • B estrutura de dados que organiza os dados em uma árvore binária.
  • C tabela que permite a pesquisa de dados usando índices numéricos.
  • D estrutura de dados que armazena pares chave-valor e permite pesquisa eficiente com base na chave, empregando uma função de hash.