Questões de Concurso
Sobre hashing em algoritmos e estrutura de dados
Foram encontradas 96 questões
I. O Hash possui sua entrada de tamanho variável. II. O Hash possui sua saída em um tamanho variável. III. Pode-se reverter o Hash, como uma boa prática de criptografia.
Sobre as afirmações acima, pode-se afirmar que:
Considere o seguinte código em uma linguagem de programação hipotética que possui função de hashing.
Considerando-se esse código, sobre o hashing, verifica-se que a(o)
Sobre funções hash, analise os itens a seguir:
I. O SHA1 é uma função de hash que gera como resultado um resumo de 128 bytes.
II. O SHA2 é composto por uma família de algoritmos que incluem versões como SHA-224, SHA-256, SHA-384 e SHA-512.
III. SHA-3 é um subconjunto da família primitiva criptográfica Keccak.
Está(ão) CORRETO(S):
I. Função de Hash: h(x) = x % 10 mapeia uma chave x para um índice entre 0 e 9.
II. Operação de Módulo: % retorna o resto da divisão.
III. Colisões: quando várias chaves mapeiam para o mesmo índice, ocorre uma colisão.
IV. Encadeamento: técnica para resolver colisões na qual cada posição na tabela contém uma lista de chaves.
Nesse contexto, o analista Zudo está implementando um sistema de armazenamento de dados utilizando uma tabela Hash de tamanho 10. Ele escolhe a função de Hash h(x) = x % 10 para mapear as chaves. Ao enfrentar o desafio das colisões, Zudo opta pela técnica de encadeamento para gerenciá-las. Ele então insere as chaves {15, 25, 35, 45, 55} na tabela Hash. A estrutura final dessa tabela será:
I. A Programação Dinâmica resolve problemas complexos dividindo-os em subproblemas mais simples e solucionando esses subproblemas uma única vez, armazenando suas soluções.
II. O princípio da otimalidade de Bellman estabelece que uma solução ótima de um problema de PD pode ser obtida resolvendo-se subproblemas ótimos recursivamente.
III. A Programação Dinâmica só pode ser aplicada a problemas que envolvem decisões discretas.
IV. Em PD, a função de valor (ou função objetivo) é construída de forma recursiva, baseandose em estados e decisões anteriores.
Quais afirmativas estão CORRETAS?
No que se refere ao uso de tabelas de hash para armazenamento de informação, assinale a alternativa correta.
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:
Sabendo que os caracteres C, V e M correspondem, respectivamente, aos números 67, 86 e 77, a AHash retornará para a chave “CVM”:
I. O MD5 não é propriamente um modelo criptográfico, existindo limitações até mesmo de segurança. Seu hash é constituído por uma estrutura hexadecimal de 32 caracteres.
II. O AES (Advanced Encryption Standard) é um algoritmo de criptografia, porém é unidirecional, não permitindo a descriptografia.
III. O RSA (Rivest-Shamir-Adleman) é um algoritmo de criptografia assimétrica bidirecional.
Conforme as assertivas, responda a alternativa verdadeira:
Em relação a sistemas de gerenciamento de banco de dados não relacionais NoSQL, julgue o item que se segue.
Hashes Redis são coleções não ordenadas de strings
exclusivas que agem como os conjuntos de uma linguagem
de programação; como tal, os hashes Redis assemelham-se
aos dicionários Python, Java HashMaps e Ruby hashes.
No que se refere a vulnerabilidades e ataques a sistemas computacionais e criptografia, julgue o próximo item.
Projetado para velocidade, simplicidade e segurança, o
algoritmo MD (message digest) produz um valor de hash de
128 bites para um tamanho arbitrário da mensagem inserida.
Transformar informações em códigos únicos, acelerando o acesso a dados em estruturas como tabelas é a função da técnica chamada hashing. Ela é uma técnica fundamental na programação que permite armazenar e recuperar dados de forma eficiente. O entendimento do hashing é essencial para otimizar algoritmos e melhorar o desempenho de muitas aplicações.
Sobre essa técnica, analise as assertivas a seguir.
I. Hashing serve para comprimir dados para economizar espaço de armazenamento.
II. Acelerar o acesso a dados, tornando-o mais eficiente, é o principal objetivo da técnica hashing.
III. Transformar texto legível em código binário, entendível pelo computador, é um dos objetivos da técnica hashing.
É correto o que se afirma apenas em
Em relação à tabela de espalhamento, segundo Cormen (2012), analise os itens a seguir:
I. O tempo médio para pesquisar um elemento em uma tabela de espalhamento é O(1).
II. Quando temos mais de uma chave mapeada para a mesma posição, temos uma situação de colisão.
III. A técnica mais simples para resolução de colisões é por endereçamento aberto.
Está CORRETO o que se afirma em: