Devoir N°1 de Structures de données Nom : Farhi Prénom : Hanane Groupe TD : 4 E
Devoir N°1 de Structures de données Nom : Farhi Prénom : Hanane Groupe TD : 4 Exercice 1 Cocher la bonne réponse. 1) Parmi les avantages de la représentation chainée par rapport à la représentation contigüe : ☐La réduction du temps d’exécution. ☐La bonne gestion de la mémoire. ☒Pas de problème de dépassement de capacité lors de l’ajout d’un élément. ☐L’accès direct à un élément par son indice. 2) Pour détruire une pile P, implémentée sous forme d’une liste chaînée, on doit : ☐Dépiler tous les éléments de la Pile P ☐Libérer l’espace pointé par P à l’aide de l’instruction free(P) ☒Mettre le pointeur P à NULL à l’aide de l’instruction P=NULL; 3) Parmi les inconvénients de la représentation contiguë d’une liste : ☐ La bonne gestion de la mémoire. ☐Le gaspillage de la mémoire. ☐Le décalage de certains éléments après l’ajout ou la suppression d’un élément. ☒ Le problème de dépassement de capacité lors de l’ajout d’un élément 4) Dans une file, les éléments accessibles sont : ☒Seules la tête et la queue de la file. ☐Seule la tête de la file. ☐Tous les éléments de la file. 5) Dans une pile, les éléments accessibles sont : ☐Seule la queue de la pile. ☐Tous les éléments de la pile. ☒Uniquement le sommet de la pile. 6) Etant donnée la pile P suivante : 20 19-2020 UNIVERSITÉ SIDI MOHAMED BEN ABDELLAH FACULTÉ DES SCIENCES ET TECHNIQUES DÉPARTEMENT INFORMATIQUE MIP2 sommet Tab 3 p 1/4 0 1 2 3 4 5 6 7 8 9 15 4 9 13 20 5 11 12 2 14 a. Le nombre d’éléments de la pile P est : ☐3 ☒4 ☐9 ☐13 b. L’élément du sommet de la pile P est : ☐20 ☐14 ☒3 ☐13 c. Après l’exécution des instructions : empiler(&P,8) ; depiler(&P) ; depiler(&P) ; l’élément du sommet de la pile P devient : ☐8 ☐13 ☐15 ☒9 7) Etant donnée la pile F suivante : a. Le nombre d’éléments de la file F est : ☒2 ☐1 ☐9 ☐10 b. L’élément de la tête de la file F est : ☐0 ☐14 ☒15 ☐4 c. L’élément de la queue de la file F est : ☐1 ☐14 ☐15 ☒4 d. Après l’exécution des instructions : enfiler(&F,8) ; defiler(&F) ; defiler(&F) ; l’élément de la tête de la file F devient : ☒8 ☐4 ☐1 ☐15 e. Après l’exécution de l’instruction : defiler(&F) ; deux fois, tete devient : ☐0 ☒-1 ☐1 ☐2 8) Parmi les fonctions suivantes, choisir celles qui permettent de dépiler un élément d’une pile : ☐ void depiler (PILE*S) { maillon *R ; if (!PileVide(*S)){ *S=(*S)->suivant ; R=*S ; free(R); } } ☐ void depiler (PILE S) { maillon *R ; if (!PileVide(S)){ R=S ; S=S->suivant ; free(R); } } ☒ void depiler (PILE *S) { maillon *R ; if (!PileVide(*S)){ R=*S ; *S=(*S)->suivant ; free(R); } } ☐ void depiler (PILE *S) { maillon *R ; if (!PileVide(S)){ R=*S ; free(R); *S=(*S)->suivant ; } } 20 19-2020 0 tete Tab 1 F queue 2/4 0 1 2 3 4 5 6 7 8 9 15 4 9 13 20 5 11 12 2 14 9) Parmi les fonctions suivantes, choisir celles qui permettent d’empiler un élément dans une pile d’entiers : ☐ void empiler (PILE *S, int v) { maillon *R ; R=( maillon*)malloc(sizeof(maillon )); R->val = v; *S = R; R-> suivant =* S; } ☐ void empiler (PILE *S, int v) { maillon *R ; if (*S != NULL) { R=( maillon*)malloc(sizeof(maillon)); R->val = v; R-> suivant = *S; *S = R; } } ☒ void empiler (PILE *S, int v) { maillon *R ; R=( maillon*)malloc(sizeof(maillon )); R->val = v; R-> suivant = *S; *S = R; } ☐ void empiler (PILE *S, int v) { maillon R; R.val = v; R. suivant = *S; *S = R; } 10) Parmi les fonctions suivantes, choisir celles qui permettent d’enfiler un élément dans une file d’entiers : ☐ void Enfiler(FILE F, int V) { maillon* m; m=(maillon*)malloc(sizeof(maillon); m->valeur = V; m->suivant = NULL; if(!FileVide(F)) { F.queue->suivant = m; F.queue = m ; } else F.tete =F.queue=m; } c void Enfiler(FILE *F, int V) { maillon* m; File Q=*F ; m=(maillon*)malloc(sizeof(maillon); m->valeur = V; m->suivant = NULL; if(!FileVide(Q)) { Q.queue->suivant = m; Q.queue = m ; } else Q.tete =Q.queue=m; *F= Q ; } ☐ void Enfiler(FILE *F, int V) { maillon m; m.valeur = V; m.suivant = NULL; if(!FileVide(*F)) { F->queue->suivant = &m; F->queue = &m ; } else F->tete =F->queue=&m; c void ☆ Enfiler(FILE *F, int V) { maillon* m; m=(maillon*)malloc(sizeof(maillon)) ; m->valeur = V; m->suivant = NULL; if(!FileVide(*F)) { F->queue->suivant = m; F->queue = m ; } else F->tete =F->queue=m; 20 19-2020 3/4 } } 20 19-2020 4/4 uploads/Management/ devoir-n1 2 .pdf
Documents similaires










-
34
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 01, 2022
- Catégorie Management
- Langue French
- Taille du fichier 0.1498MB