Algoritmos/Estruturas de dados/Tabela Hash: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
→‎Buckets: Adicionar as fotos pendentes com as descrições e ajuste da página em geral.
Linha 50:
 
== Buckets ==
Para armazenar vários registros podemos pensar em usar Buckets que consistem em blocos (de vários registros). Trabalhar com Buckets é interessante, pois ele não armazena em um endereço um único registro, mas sim vários. Vamos supor, por exemplo, um registro de índice simples com 12 bytes (4 para o id e 8 para o endereço), assim temos que um setor no HD possui 4096 bytes que dividindo pelo índice fica 341,33 ou melhor 341 registros nesse setor. A busca desses registroregistros é muito mais eficiente pois não precisaremos mais acessar o disco rígido, teremos todos os registros na memória principal, uma vez feita a busca.
[[Ficheiro:Bucket1.png|miniaturadaimagem|268x268px|Buckets]]
Como o Bucket funciona:
 
Temos vários registros param ser armazenados no Bucket, para isso utilizaremos uma função hash, para ver em qual endereço devemos armazenar aquele registro de índice. A inserção no Bucket é feita conforme há espaço nele, caso o Bucket o esteja cheio, devemos utilizar alguns tratamentos de colisões como:
 
'''Encadeamento Interno'''
Linha 63:
* Área de extensão
* Lista encadeada
'''Criação de um novo Bucket''' (Hash dinâmica)
 
== Hash Dinâmica ==