2010-12-11 7 views
3

Je viens de lire à propos des tables de hachage et je suis curieux de savoir si nous l'utilisons en pratique parce que si j'écris un programme qui stocke des données dans une table de hachage, le stockage ne sera que temporaire. Alors, pourquoi ne pas utiliser une base de données pour le stocker? En d'autres termes, quels types de programmes du monde réel utilisent des tables de hachage pour leur fonctionnement?Utilisons-nous des tables de hachage en pratique?

+3

De nombreux programmes utilisent des tables de hachage! Quel est le problème avec une collection en mémoire. En mémoire, les collections sont l'un des éléments les plus importants de tout programme. – jjnguy

+0

Essayez d'imaginer comment les données seraient stockées dans la base de données. – ruslik

Répondre

6

Vous utiliseriez des tables de hachage pour stocker des données pendant que vous travaillez. L'utilisation de la base de données pour cela serait dans de nombreux cas plus lente que l'utilisation de tables de hachage en mémoire. Voir par exemple:

cartes hash sont sur la vitesse, et non la persistance.

Jetez un oeil sur les autres utilisations dans la section Uses de Hash table entrée sur Wikipedia:

0

table de hachage est pour un accès rapide, disons que vous devez rechercher beaucoup des disques, ce sera très cher. L'utilisation d'une fonction de hachage vous amène presque directement à la partie que vous souhaitez rechercher. Et vous pouvez implémenter une table de hachage de schéma de base de données, de sorte qu'ils ne sont pas nécessairement un stockage temporaire.

+0

vous pouvez également vouloir étudier les dictionnaires –

Questions connexes