[Dcmlib] Essai sur les table de hashage

Hugues Benoit-Cattin hugues.benoit-cattin at creatis.insa-lyon.fr
Tue May 28 18:11:40 CEST 2002


Je laisse les specialistes de l'implantation C++ repondre a la question qui
est du ressort de l'implantation plus que de l'API.
A la prochaine reunion, on fait un tour de commentaires sur les classes
definies (+- retour de sebastion baret) et on precise un calendrier
d'implantation ...
Hugues BENOIT-CATTIN
www.creatis.insa-lyon.fr/~yougz
----- Original Message -----
From: "Emmanuel Olart" <eolart at theralys.com>
To: "Eric Boix" <frog at creatis.insa-lyon.fr>;
<dcmlib at tux.creatis.insa-lyon.fr>
Sent: Tuesday, May 28, 2002 4:45 PM
Subject: Re: [Dcmlib] Essai sur les table de hashage


> Hum je vais regarder ca.
>
> Je me souviens avoir utilise des implementations de HashTable qui
> permettaient un parcour des clés de maniere triee
> Je vais recontacter un ami avec qui je l'ai fait.
>
> Sinon , ce parcours trié permet de simplifier certaines fonctions, mais
> n'est pas obligatoire. Si nous ne pouvons pas le faire, je pense que nous
> nous en passerons sans grand mal
>
> Emmanuel
> ______________________________________________
> Emmanuel OLART, Eng.
> THERALYS
> Diagnostic & Therapeutic Image Analysis in Clinical Trials
> Address : 29 rue Bellecombe, 69006, LYON, FRANCE
> Phone : (33).6.63.01.52.36
> Fax : (33).4.72.35.72.91
> Email : olart at theralys.com
>
> ----- Original Message -----
> From: "Eric Boix" <frog at creatis.insa-lyon.fr>
> To: <dcmlib at tux.creatis.insa-lyon.fr>
> Sent: Tuesday, May 28, 2002 5:13 PM
> Subject: [Dcmlib] Essai sur les table de hashage
>
>
> > Salut,
> >
> > Il semblerait que nous devions faire un usage intensif des
> > tables de hashage. Les specifs actuelles (faites sur un coin de table
> > lors de la derniere reunion) sont:
> >   * un tableau associatif
> >   * clef unique (je ne suis pas tout a fait certain de cela).
> >   * trie' (sur les clefs)
> >   * avec les methodes de traverse'e first(), next(), last...
> >
> > Il existe bien sur des choses dans la STL et apres une premiere lecture
> > du chapitre 3.3 de
> >     http://www.sgi.com/tech/stl/table_of_contents.html
> > ce qu'il nous faudrait est donc un "Unique Sorted Associative Container"
> > i.e. soit un <set> soit un <map>.
> >
> > Toujours en premier lecture, il semblerait que l'on ne puis PAS ajouter
> > a nos contraintes que l'implementation soit fait sous forme de table de
> > hashage (pour des raisons de complexite' algorithmique et non de
> > fonctionalite') sans perdre l'ordre (Sorted) des clefs.
> > Autrement dit un Unique Hashed Associative Container n'est pas sorted.
> > Ajoutez a cela que les templates correspondants a cela (i.e. <hash_set>
et
> > <hash_map>) n'existent pas nativement dans VC++6.0 (pfff)...
> >
> > Ma conclusion partielle est qu'il faut pendre un <map>. Voici un
> > bout de code (aussi en attachement) qui compile et linke avec la
commande
> >    "g++ hashtest.cxx"
> > sous linux...
> >
> >
> > #include <map>
> > #include <string>
> > #include <iostream>
> >
> > int main()
> > {
> >   typedef map<string, char*> dict;
> >
> >   dict current;
> >   current["00100010"] = "Patient Name";
> >   current["7fe00010"] = "Pixel Data";
> >   current["50000010"] = "Number of points";
> >   current["00380010"] = "Admission ID";
> >
> >    cout << "Traversal of dictionary (note the proper ordering on key)."
<<
> endl;   for ( dict::iterator im = current.begin(); im != current.end();
> ++im )
> >       cout << "   \"" << im->first << "\" = " << im->second << endl;
> >    cout << "End of dictionary." << endl;
> >
> >    cout << "Find request on key 00380010" << endl;
> >    dict::iterator im = current.find("00380010");
> >    cout << "   \"" << im->first << "\" = " << im->second << endl;
> > }
> >
> >
> > So ?
> > Frog.
> >
> >
>
>
> _______________________________________________
> Dcmlib mailing list
> Dcmlib at www.creatis.insa-lyon.fr
> http://www.creatis.insa-lyon.fr/public/mailman/listinfo/dcmlib




More information about the Dcmlib mailing list