Pular para o conteúdo principal

Questão de TI - Desenvolvimento de Sistemas — Hashing (Tabelas Hash e Funções de Espalhamento) — CESGRANRIO 2024

TI - Desenvolvimento de SistemasHashing (Tabelas Hash e Funções de Espalhamento)
Código
cg057914
Banca
CESGRANRIO
Órgão
BNDES
Ano
2024
Cargo
Ana ( )
Considere o seguinte código em uma linguagem de programação hipotética que possui função de hashing.   // Linguagem Hipotética (exemplo de hashing) class TabelaHash {   constructor(size) {     this.size = size;     this.table = new Array(size);   } hash(key) {   return key % this.size; } inserir(key, value) {    const index = this.hash(key);    this.table[index] = value; } buscar(key) {    const index = this.hash(key);     return this.table[index];  } } const hashTable = new TabelaHash(10); hashTable.inserir(15, "valor1"); hashTable.inserir(25, "valor2"); console.log(hashTable.buscar(15)); // Saída 1 console.log(hashTable.buscar(25)); // Saída 2 console.log(hashTable.buscar(35)); // Saída 3 -------   Considerando-se esse código, sobre o hashing, verifica -se que a(o)
  1. Afunção de hash é responsável por transformar chaves distintas em índices distintos.
  2. Bfunção de hash garante que todas as chaves serão distribuídas uniformemente na tabela de hash.
  3. Ctabela de hash pode usar qualquer função de hash, independentemente do tamanho da tabela.
  4. Dtabela de hash poderá sobrescrever o valor existente com o novo valor se duas chaves tiverem o mesmo valor de hash.
  5. Evalor da chave anterior será mantido na tabela de hash se duas chaves resultarem no mesmo índice após a aplicação da função de hash.
Revelar gabarito e comentário

GabaritoD — tabela de hash poderá sobrescrever o valor existente com o novo valor se duas chaves tiverem o mesmo valor de hash.

Link permanente: /questoes/cg057914