judyhash

Judyhash es un software que proporciona varios mapas de hash (y set) según la matriz Judy.
Descargar ahora

judyhash Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • MIT/X Consortium Lic...
  • Precio:
  • FREE
  • Nombre del editor:
  • Aleksey Cheusov
  • Sitio web del editor:

judyhash Etiquetas


judyhash Descripción

Judyhash es un software que proporciona varios mapas de hash (y set) basados ​​en la matriz Judy. Judyhash es un software que proporciona varios mapas de hash (y set) basados ​​en la matriz Judy. Todos estos mapas y conjuntos se implementan utilizando un lenguaje de programación de C ++ y tienen una API similar a la del hash_map (o STD ::: nodered_map) y la biblioteca de STL.algorithms y complejity en las tablas de hash tradicionales http://wiki / Hash_table La matriz lineal se usa para asignar un valor de hash a un elemento, con mayor frecuencia haciendo operación de módulo donde el divisor es el tamaño de la tabla de hash. Las tablas de hash tradicionales tienen dos problemas principales. El primero es el cambio de tamaño de la tabla de hash, es decir, aumentarla cuando hay demasiados elementos y disminuyendo cuando solo se usan algunas celdas de tabla. El segundo problema es la colisión.Insta de la matriz lineal, las clases de Judyhash utilizan un conjunto judic de funciones de Judy Library (consulte la URL a continuación). Judyl implementa un mapa de alto rendimiento de un tipo de entero a un tipo de puntero (en realidad, un mapa de word_t a word_t, que es capaz de almacenar tanto int como void *). Como resultado, tenemos: 1) Algunas sobrecargas para mapear un valor de hash a un elemento (Enuckchain of Elements) (Judyl es más lento que 'Puntero '); 2) valor hash en un rango (el valor predeterminado en las plataformas 32/64) y por lo tanto, muy raro colisiones; 3) cambio de tamaño dinámico de la tabla hash, es decir, la memoria se asigna (y se libera) tan pronto como sea necesario (o ya no ha sidoneado) .En CASO DE COLSIONES JUDY_MAP_ {L, M} y Judy_Set_ {L, M} Clases Use A Técnica de encadenamiento para resolver la colisión, es decir, el almacenamiento externo se utiliza para almacenar elementos conflictivos. JUDY_ {SET, MAP} _L clases Use LIST, mientras que JUDY_ {SET, MAP} _M Use Mapa (o set), es por eso que Judy_ {Set, MAP} _M Clases requieren menos predicado además de la igual .judy_map_kdcell es en realidad un C ++ La envoltura similar a STL para las funciones judicilas y, por lo tanto, tanto la clave como los datos deben ser de enteros o punteros type.judy_set_cell es en realidad una envoltura similar a C ++ en forma de STL para las funciones de Judy1 y, por lo tanto, el tipo de clave debe ser entero o puntero.


judyhash Software relacionado