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)
- Afunção de hash é responsável por transformar chaves distintas em índices distintos.
- Bfunção de hash garante que todas as chaves serão distribuídas uniformemente na tabela de hash.
- Ctabela de hash pode usar qualquer função de hash, independentemente do tamanho da tabela.
- Dtabela de hash poderá sobrescrever o valor existente com o novo valor se duas chaves tiverem o mesmo valor de hash.
- 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.