IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

table de hachages


Sujet :

C++

  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Par défaut table de hachages
    Bonjour,

    Suis je obliger de créer ma propre class pour réaliser une table de hachage extern en C++ ?

    La STL peut-être utile ?

    Merci

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    En général les compilos / implémentations de la STL proposent leur propre extension pour les tables de hachage. On en a parlé y a pas si longtemps.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 125

  4. #4
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Par défaut
    merci pour le lien !

    Cependant si je veux une table de hachage externe, je suis un peu bloquée.

    ex:
    si je dois indexer 2000 clients et que je fais une table ayant une taille utile de 200, j'aurais forcément des colisions que je devrais gérer à l'aide d'une liste chainée pour mon cas.

    Une idée ?

    Merci

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 125
    Par défaut
    a la lecture de la doc (cf lien) il y a des methodes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    size_type bucket_count() const
    void resize(size_type n)
    qui permettent de connaitre et modifier la taille de ta table de hash.
    sinon la hash_table de la stl doit aussi avoir un system de liste ou autre conteneur pour tes pb de colisions mais ca marche sans soucis

    pour rechercher un element dans une table de hash il faut la fonction de hash
    et l'operateur= apres tous les mecanismes sont implementés

    j'espere que ca repond a ton besoin !

  6. #6
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Par défaut
    merci !
    Je vais tenter de faire fonctionner "le monstre" !
    Sinon pour la fonction de hachage, c'est à moi de la definir ou la STL en a aussi une ? (obtenir une clé en fonction d'un nom et un prenom par ex)
    J'ai regardé mais j'ai rien vue à ce sujet !

    merci merci

  7. #7
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    Autre chose que tu dois prendre en compte.

    Il existe 2 types de "collisions". Celle qui est accidentelle sur valeur de hachage : par exemple sur quelques cas, malheureusement, la fonction de hachage donne 2 clefs identiques ou parce que la table est trop petite. Et la collision certaine sur clef, dans le cas par exemple ou tu as de homonymes dans ta DB.

    Dans ce cas là tu peux aussi regarder le conteneur multi_hashmap qui peut être plus adaptée.

  8. #8
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Par défaut
    Un de vous connait un bon lien pour comprendre et apprendre à utiliser le STL ?

  9. #9
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    Ca se passe par ici : http://www.developpez.biz/download/stl.pdf

    Et par pitié vérifie ton aurtaugraf

  10. #10
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Un de vous connait un bon lien pour comprendre et appredre a utiliser le STL ?
    N'importe quel livre de base sur C++.

  11. #11
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Par défaut
    Merci pour tout !

    PS : désolé pour les fautes...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/03/2007, 10h34
  2. table de hachage
    Par mrtatou dans le forum Langage
    Réponses: 4
    Dernier message: 18/01/2006, 09h41
  3. Table de hachage
    Par Gryzzly dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 25/12/2005, 17h31
  4. [Conception] Table de hachage et doublons de clés
    Par mammou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 13/05/2004, 19h16
  5. Réponses: 2
    Dernier message: 05/02/2004, 12h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo