Package br.unip.aps.estruturas
Class TabelaHash<K,V>
java.lang.Object
br.unip.aps.estruturas.TabelaHash<K,V>
Tabela hash com encadeamento separado; cada chave guarda uma lista de valores (multimapa).
-
Constructor Summary
ConstructorsConstructorDescriptionTabelaHash(int capacidade, ToIntFunction<? super K> funcaoHash, Comparator<? super K> comparador, OperationCounter contador) TabelaHash(ToIntFunction<? super K> funcaoHash, Comparator<? super K> comparador, OperationCounter contador) -
Method Summary
Modifier and TypeMethodDescriptionValores da chave (lista vazia se ausente).intintchaves()longcolisoes()voidcontador()intQuantidade de valores da chave, sem copiar a lista.int[]Histograma dos comprimentos de cadeia: posicao i = quantidade de baldes com i entradas.doublestatic intFNV-1a (Fowler, Noll e Vo): combina cada caractere com XOR e multiplica pelo primo 16777619.intvoidparaCada(BiConsumer<? super K, Integer> visita) Visita cada chave com sua quantidade de valores (ordem dos baldes).static <V> TabelaHash<String, V> paraTexto(OperationCounter contador) Tabela para chaves de texto com a funcao FNV-1a de 32 bits.intbooleanlongvalores()
-
Constructor Details
-
TabelaHash
public TabelaHash(ToIntFunction<? super K> funcaoHash, Comparator<? super K> comparador, OperationCounter contador) -
TabelaHash
public TabelaHash(int capacidade, ToIntFunction<? super K> funcaoHash, Comparator<? super K> comparador, OperationCounter contador)
-
-
Method Details
-
paraTexto
Tabela para chaves de texto com a funcao FNV-1a de 32 bits. -
fnv1a
FNV-1a (Fowler, Noll e Vo): combina cada caractere com XOR e multiplica pelo primo 16777619. -
colocar
-
buscar
Valores da chave (lista vazia se ausente). -
contar
Quantidade de valores da chave, sem copiar a lista. -
remover
-
paraCada
Visita cada chave com sua quantidade de valores (ordem dos baldes). -
distribuicaoCadeias
public int[] distribuicaoCadeias()Histograma dos comprimentos de cadeia: posicao i = quantidade de baldes com i entradas. -
maiorCadeia
public int maiorCadeia() -
fatorCarga
public double fatorCarga() -
chaves
public int chaves() -
valores
public long valores() -
capacidade
public int capacidade() -
colisoes
public long colisoes() -
redimensionamentos
public int redimensionamentos() -
contador
-