judyhash.

Judyhash é um software que fornece vários MAP Hash (e conjunto) com base na matriz de Judy.
Baixe Agora

judyhash. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • MIT/X Consortium Lic...
  • Preço:
  • FREE
  • Nome do editor:
  • Aleksey Cheusov
  • Site do editor:

judyhash. Tag


judyhash. Descrição

Judyhash é um software que fornece vários hash mapa (e conjunto) com base na matriz de Judy. Judyhash é um software que fornece vários hash mapa (e conjunto) com base na matriz de Judy. Todos esses mapas e conjuntos são implementados usando o idioma de programação C ++ e têm uma API semelhante à do Hash_Map (ou STD :: Unourdered_Map) e STL Library.Algorithms e Tabelas de Hash tradicionais de Complexityin http://en.wikipedia.org/wiki / Hash_table Linear Array é usado para mapear um valor de hash para um elemento, com mais frequência, tornando a operação do módulo onde o divisor é o tamanho da tabela de hash. Tabelas de hash tradicionais tem dois problemas principais. O primeiro é o redimensionamento da tabela de hash, isto é, aumentando quando há muitos elementos e diminuindo quando apenas alguns tem células de mesa são realmente usados. O segundo problema é colisões.Enstead of linear Array, aulas Judyhash usam um conjunto judilante de funções da Judy Library (veja URL abaixo). Iudil implementa um mapa de alto desempenho a partir de um tipo inteiro para um tipo de ponteiro (na verdade um mapa de Word_T para word_t, que é capaz de armazenar ambos int e vazio *). Como resultado, temos: 1) Alguns sobrecarregados para mapear um valor de hash para um elemento (principalmente de elementos) (judil é mais lento do que o pointer '); 2) valor de hash em um intervalo (o padrão em plataformas 32/64) e, portanto, muito raro colisões; 3) redimensionamento dinâmico de tabela de hash, ou seja, a memória é alocada (e liberada) assim que é necessária (ou mais desnecessária). em caso de colisões judy_map_ {l, m} e judy_set_ {l, m} classes usam um Técnica de encadeamento para resolver a colisão, ou seja, armazenamento externo é usado para armazenar elementos conflitantes. judy_ {set, mapa} _l classes use lista, enquanto judy_ {set, mapa} _m use mapa (ou set), é por isso que judy_ {set, map} as classes exigem menos predicado, além de igual.judy_map_kdcell é realmente um C ++ O invólucro do tipo STL para funções judil e, portanto, a tecla e os dados devem ser de inteiro ou ponteiro tipo.judy_set_cell é na verdade um invólucro C ++ STL para funções judy1 e, portanto, o tipo de chave deve ser inteiro ou ponteiro.


judyhash. Software Relacionado