Quelle est la meilleure structure de données pour stocker les millions/milliards d'enregistrements (supposons qu'un enregistrement contienne un nom et un entier) dans la mémoire (RAM). Meilleur en termes de - temps de recherche minimum (priorité 1) et mémoire efficace (2ème priorité)? Est-ce l'arbre patricia? un autre mieux que ça?Structure de données pour stocker des milliards d'entiers
La clé de recherche est un entier (disons un entier aléatoire de 32 bits). Et tous les enregistrements sont en RAM (en supposant que suffisamment de RAM est disponible).
En C, la plate-forme Linux ..
En gros Mon programme serveur attribue un 32bit clé aléatoire à l'utilisateur, et je veux stocker l'enregistrement d'utilisateur correspondant afin que je puisse rechercher/supprimer l'enregistrement de manière efficace. On peut supposer que la structure de données sera bien remplie.
Cherchez-vous le nom ou le numéro? Ou les deux? –
Est-ce que l'ensemble d'enregistrements est souvent mis à jour, et avec quelle précision? À quoi ressemble la distribution des nombres entiers? Est-ce qu'une table de hachage avec tous les noms correspondra confortablement à la mémoire dont vous disposez? – reinierpost