Changes between Version 95 and Version 96 of CaoCourseTme2
- Timestamp:
- Mar 13, 2007, 4:57:26 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CaoCourseTme2
v95 v96 65 65 doit donc être du même ordre de grandeur que le nombre total d'éléments à stocker. 66 66 67 Il existe plusieurs méthodes de calcul de l'index. La fonction hashindex() contenue dans le fichier hash.c implémente celle proposée par Donald Knuth. 67 Il existe plusieurs méthodes de calcul de l'index. La fonction hashindex() contenue 68 dans le fichier hash.c implémente celle proposée par Donald Knuth. 68 69 69 70 La propriété principale d'une table de hachage est que, si la taille de la table … … 108 109 Le fichier [attachment:dico.c dico.c] rassemble les fonctions d'accès à une table de hachage utilisée comme dictionnaire. 109 110 * '''QC1''' Quel est l'encombrement (en nombre d'octets) des structures créées en mémoire par la fonction dico_create(nb_item) , quand nb_item=10 ? Quelle différence y-at-il entre les appels système malloc() et calloc() ? 110 * '''QC2''' Pourquoi la structure de donnée {{{dico_item_s}}} a-t-elle un encombrement mémoire variable ? On aurait pu utiliser une structure de donnée de taille fixe en définissant le troisième champs de la structure comme un pointeur sur chaîne de caractères du type {{{char *KEY}}}. Pourquoi n'a-t-on pas utilisé cette technique ?111 * '''QC2''' Pourquoi la structure {{{dico_item_t}}} définie dans le fichier [attachment:dico.h dico.h] a-t-elle un encombrement mémoire variable ? On aurait pu utiliser une structure de donnée de taille fixe en définissant le troisième champs de la structure comme un pointeur sur chaîne de caractères du type {{{char *KEY}}}. Pourquoi n'a-t-on pas utilisé cette technique ? 111 112 * '''QC3''' Quelle est la seule fonction capable d'introduire un nouvel item dans le dictionnaire? Quelle est la technique utilisée dans la fonction dico_get() pour créer ce type d'objet de taille variable en mémoire ? 112 113 * '''QC4''' Dans la fonction dico_get() comment fait-on pour tester le retour de l'appel système malloc() ? à quoi celà sert-il ? Pourquoi teste-on la valeur de l'argument ''key'' au début de cette fonction ? Que fait la fonction perror() ? 113 * '''QC5''' A quoi sert l 'objet dico_iterator_t défini dans le fichier [attachment:dico.h dico.h] ? Quelle est la signification des trois champs de cette structure.Que font les fonctions dico_first() et dico_next() ?114 * '''QC5''' A quoi sert la structure {{{dico_iterator_t}}} définie dans le fichier [attachment:dico.h dico.h] ? Quelle est la signification des trois champs de cette structure ? Que font les fonctions dico_first() et dico_next() ? 114 115 * '''QC6''' La fonction hashindex() peut-elle provoquer une erreur de segmentation ? Comment y remèdier proprement ? 115 116