Changes between Version 95 and Version 96 of CaoCourseTme2


Ignore:
Timestamp:
Mar 13, 2007, 4:57:26 PM (18 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CaoCourseTme2

    v95 v96  
    6565doit donc être du même ordre de grandeur que le nombre total d'éléments à stocker.
    6666
    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.
     67Il existe plusieurs méthodes de calcul de l'index. La fonction hashindex() contenue
     68dans le fichier hash.c implémente celle proposée par Donald Knuth.
    6869
    6970La propriété principale d'une table de hachage est que, si la taille de la table
     
    108109Le fichier [attachment:dico.c dico.c] rassemble les fonctions d'accès à une table de hachage utilisée comme dictionnaire.
    109110 * '''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}}}. Pour quoi 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 ?
    111112 * '''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 ?
    112113 * '''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() ?
    114115 * '''QC6''' La fonction hashindex() peut-elle provoquer une erreur de segmentation ? Comment y remèdier proprement ?
    115116