choix d'une structure de donnée adaptée

choix d'une structure de donnée adaptée - C - Programmation

Marsh Posté le 19-11-2005 à 17:59:38    

Bonjour,
 
je voudrais stocker quelques centaines d'éléments au plus. Mes éléments sont des structures et sont identifiés de manière unique par un unsigned long. L'accès en lecture ou la modification d'un élément se fera assez fréquemment, moins pour l'insertion et la suppression.
 
Je me demande si l'utilisation d'une table de hachage (ou dictionnaire ou tableau associatif) dont l'index serait donc un unsigned long est adapté à mes besoins. Sinon une liste simplement chaînée non triée me parait assez bien. Qu'en pensez vous ?
 
Merci pour vos conseils avisés :)

Reply

Marsh Posté le 19-11-2005 à 17:59:38   

Reply

Marsh Posté le 19-11-2005 à 18:05:28    

table de hachage. ou tableau si les index sont contigus.
 
voir glib.

Reply

Marsh Posté le 19-11-2005 à 18:12:58    

Merci pour ta réponse.
Non les index ne sont pas contigus. De plus je ne souhaite pas utiliser d'autre librairie que la librairie standard C...
 
Pour la taille maximale de la structure, j'y suis peut-etre allé un peu fort... si par exemple je ne stocke qu'une centaine d'éléments au plus, et non pas quelques centaines, la préférence va toujours à la table de hachage ?

Reply

Marsh Posté le 19-11-2005 à 18:29:24    

oui.

Reply

Marsh Posté le 19-11-2005 à 18:30:30    

souliane a écrit :

Non les index ne sont pas contigus. De plus je ne souhaite pas utiliser d'autre librairie que la librairie standard C...
 
je ne stocke qu'une centaine d'éléments au plus, et non pas quelques centaines, la préférence va toujours à la table de hachage ?


Une table d'index triée et un bsearch() et le tour est joué...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 19-11-2005 à 18:31:01    

Ok :)

Reply

Marsh Posté le 19-11-2005 à 18:38:37    

Je ne connaissais pas bsearch ça a l'air bien dis donc :p

Reply

Marsh Posté le 19-11-2005 à 19:06:32    

Il serait temps que je finisse la lecture de mon bouquin de C. J'ai vu qu'il y avait aussi un truc pour gérer une table de hachage... et même un arbre binaire ! Qui a dit que la bibliotheque C était pourrie ? :D

Reply

Marsh Posté le 19-11-2005 à 19:17:36    

pas standard du tout.

Reply

Marsh Posté le 19-11-2005 à 19:21:13    

Ah ? Mais bsearch est dans stdlib.h et il pointe vers hsearch et tsearch qui sont dans search.h... :sweat:
Bon, je reviens sur ce que j'ai dit alors ? :lol:

Reply

Marsh Posté le 19-11-2005 à 19:21:13   

Reply

Marsh Posté le 19-11-2005 à 19:33:08    

et alors ? c'est pas le contu du .h qui dit ce qui est standard.

Reply

Marsh Posté le 19-11-2005 à 20:18:43    

souliane a écrit :

Ah ? Mais bsearch est dans stdlib.h et il pointe vers hsearch et tsearch qui sont dans search.h... :sweat:
Bon, je reviens sur ce que j'ai dit alors ? :lol:


Dans un .h, il y a au minimum le standard, mais il peut y avoir des tas d'extensions... Ce qui compte, c'est la norme.
 
http://mapage.noos.fr/emdel/notes.htm#norme


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed