Le choix d'une structure de Données pour les données très volumineux

J'ai x (millions de dollars) d'entiers positifs, où leurs valeurs peuvent être aussi gros que autorisées (+de 2 147 483 647). En supposant qu'ils sont uniques, quelle est la meilleure façon de les conserver pour un programme intensif de recherche.

Jusqu'à présent j'ai pensé à utiliser un binaire AVL arbre ou une table de hachage, où le nombre entier est la clé de données cartographiées (un nom). Cependant je ne suis pas sûr de savoir si je peut mettre en œuvre ces grandes touches et en si grande quantité avec une table de hachage (ne serait-ce pas créer un >0.8 facteur de charge de plus être sujettes à des collisions?)

Pourrais-je avoir quelques conseils sur la structure de données qui pourrait être adapté à ma situation

Êtes-vous en essayant de garder l'ensemble de cette structure dans la mémoire? Les bases de données utilisent couramment les B-tree pour ce genre de recherche. La structure est stocké sur le disque et il prend seulement un petit nombre d'accès pour retrouver les clés, même avec un très grand nombre de clés dans l'index.
Ligne de cache du PROCESSEUR remplit peut avoir le même effet sur les performances de la base de données page lit le faire, mais à la microseconde plutôt qu'à l'échelle de la milliseconde.
si vous allez utiliser un Auto-Équilibrage de l'Arbre alors je vous recommande fortement de lire cet article: web.stanford.edu/~blp/documents/libavl.pdf

OriginalL'auteur Carlos | 2010-11-24