la recherche de la table de hachage de la bibliothèque C

Je n'ai vérifier les questions précédentes sur ce sujet, mais ne pouvais pas trouver une solution qui répond à mon besoin.

Ce dont j'ai besoin:

  1. Prend en charge les deux chaînes, et les n-uplets d'entiers (int tableaux en C). Si c'est un tableau d'entiers, la longueur est fixée au moment de la compilation.
  2. Rapide.
  3. Efficace en terme de mémoire. J'ai besoin de l'utiliser pour traiter les super grands ensembles de données.
  4. La capacité des tables de hachage se développer de manière dynamique. J'aime la croissance de la taille des tables de hachage pour être traitées par la bibliothèque, au lieu de moi.
  5. J'ai besoin de créer un grand nombre de tables de hachage. Et ces tables de hachage sera lié comme un arbre, que les valeurs dans une table de hachage point à d'autres tables de hachage.

Mon application est à la fois mémoire et en CPU. -- Comment je suis chanceux! 🙂

Je ne considère pas du tout C++ implémentations pour l'instant, à moins que je n'arrivais pas à trouver la moindre solution en C.

Merci!

Le plus important de la mise en œuvre de choix: avez-vous besoin d'supprime, ou est la table de hachage en magasin seulement? BTW: le redimensionnement automatique peut être un frein, pourrait conduire à Nlog(N) ou même N*N de comportement. La taille idéale est le chemin à parcourir. My application is both memory and CPU bound. : qui est presque impossible, dans mon hash-programmes intensifs (comme Wakkerbot, voir mon profil) le hachage généralement tendance à utiliser uniquement les quelques % de CPU et de peut-être 90% de la mémoire disponible. Et près de 100% de la bande passante de la mémoire, puisque j'aime séparé de chaînage...
Grâce wildplasser pour les suggestions. Il est lié à la mémoire, parce que j'ai besoin de traiter de grands ensembles de données. Il est en CPU, parce que les maths dans l'application est à coût élevé, non pas à cause de la table de hachage.
Il semble que ce soit un doublon: stackoverflow.com/questions/1138742/...

OriginalL'auteur Jian Feng | 2013-08-12