Informática, perguntado por LOURENCO05, 1 ano atrás

O que é hashing ou algoritmo de randomização?

Soluções para a tarefa

Respondido por jonramos
0
Em poucas palavras, hashing é pegar um texto qualquer e transformá-lo numa sequência de números.

Pra que alguém faria um negócio desse? 
Se estivermos falando em banco de dados, a resposta é: pra organizar e acessar de forma rápida os dados.

Imagina um lista com muitos nomes. Alguns só pra exemplificar: João Vitor, Maria Rosa, Rafael Borges, etc.

Você cria então uma fórmula lógica que seja capaz de transformar cada nome em um único número.
Ai você aplica a todos os nomes e vai ter uma tabela:

1345873 João Vitor
3097905 Maria Rosa
4060964 Rafael Borges

Essa tabela é o que chamamos que hash table. Cada valor é o que chamamos de hash code. 

Agora, supondo que seu sistema precisa procurar pelo João Vitor. Se fosse da maneira tradicional, ele teria que ler todos os dados da tabela até encontrar o João Vitor na base de dados. Se a tabela for muito grande isso vai demorar, e pode piorar quando o programa faz isso várias vezes por minuto para vários nomes diferentes.
Mas como temos o hash code, o programa só precisa aplicar a fórmula que você usou pra criar o hash code e com a fórmula ele vai saber gerar exatamente o hash (1345873) e saber exatamente onde está o dado que ele procura.
Se você precisar saber mais: https://pt.wikipedia.org/wiki/Fun%C3%A7%C3%A3o_hash
Espero que tenha conseguido entender.
Perguntas interessantes