Julgue os itens subsequentes, acerca dos conceitos relaciona...
O acesso de dados por meio da técnica hashing, quando o volume de dados armazenados cresce muito além do espaço inicialmente alocado, resulta em queda de desempenho nas operações de recuperação de dados.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: C - Certo
A técnica de hashing é amplamente utilizada em bancos de dados para permitir uma recuperação rápida de dados. Ela funciona através da geração de um valor de hash a partir de um dado de entrada, usando uma função de hash. Esse valor de hash é utilizado para encontrar a localização do dado desejado no banco de dados, o que, idealmente, permite acessá-lo de forma direta e rápida.
No entanto, essa técnica pode encontrar problemas de desempenho quando o volume de dados armazenados ultrapassa o espaço inicialmente previsto para a estrutura de hash. Isso ocorre porque a função de hash pode começar a produzir muitas colisões – situações em que diferentes entradas produzem o mesmo valor de hash.
Quando há colisões, os dados correspondentes a esses valores de hash precisam ser armazenados em uma mesma localização, geralmente através de uma técnica chamada encadeamento, que cria uma lista de elementos que compartilham o mesmo valor de hash. Quanto mais dados forem adicionados, maior se tornam essas listas, e mais tempo leva para percorrê-las a fim de encontrar o dado específico desejado, afetando negativamente a performance na recuperação de dados.
Portanto, a afirmativa está correta, pois o acesso a dados por meio da técnica de hashing realmente tende a ter uma queda de desempenho quando há um crescimento considerável no volume de dados armazenados, superando o espaço inicialmente alocado.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Isso acontece pois a ordem de complexidade da técnica de hashing é linear, ao contrário de outras técnicas de pesquisa/acesso que podem ter a sua curva de crescimento quadrática.
Fonte: http://www.inf.ufsc.br/~ine5384-hp/Hashing/
Eduado , só seria O(n) se você considerar que o hashing é aberto e implementado por listas lineares. Caso contrário, o hashing fechado, por exemplo, seria O(1). Como a questão menciona "quando o volume de dados armazenados cresce muito além do espaço inicialmente alocado, resulta em queda de desempenho nas operações de recuperação de dados" sugere-se que está trabalhando com um hashing aberto. Caso fosse implementado, por exemplo, o hashing dinâmico ou extensível não seria o(n), mas o(logn). Em todos os caso o(1) para encontrar a chave acrescido do (maior) tempo de percorrer uma lista, uma árvore, ou qualquer outra estrutura de dado associada ao hashing aberto. Como a complexidade assintótica considera sempre o maior tempo, neste caso, o hashing teria complexidade linear, logaritimica, etc como afirmou o colega abaixo.
Entendo que passar a usar técnicas de hashing quando o volume de dados armazenados cresce muito além do espaço inicialmente alocado resulta em melhora do desempenho, já que o uso de hashing torna a busca mais rápida.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo