Fiche d’exercices de Structures de données avec corrigé
Fiche d’exercices de Structures de données gratuite et imprimable : 8 exercices, du niveau facile au niveau examen, avec corrigé. Imprimez-la ou enregistrez-la en PDF.
Pour les enseignants : gratuite à imprimer, copier et utiliser en classe. Chaque nouvelle fiche a de nouvelles valeurs et son propre corrigé. Un lien vers ExamProblems sur la page de votre cours est apprécié.
Nom: ____________________ Date: ____________
1.Facile
Qu'est-ce qu'un deque (file à double extrémité) ?
AUne file qui ne permet la suppression qu'à l'arrière
BUne file triée par priorité
CUne structure qui permet l'insertion et la suppression aux deux extrémités
DDeux files distinctes partageant un même tableau
2.Facile
Quelle est la principale différence entre un tableau statique et un tableau dynamique ?
AUn tableau dynamique peut grandir en passant à un bloc de mémoire plus grand
BUn tableau statique ne peut stocker que des nombres
CUn tableau statique offre un accès par indice plus lent
DUn tableau dynamique stocke ses éléments dans des nœuds chaînés, ce qui lui permet de grandir un élément à la fois
3.Facile
Quelle structure de données convient le mieux à la fonction « annuler » (undo) d'un éditeur de texte ?
AFile (queue)
BPile (stack)
CEnsemble haché (hash set)
DGraphe
4.Moyen
Une file est implémentée avec deux piles : on empile sur une pile « in » et on dépile depuis une pile « out », remplie à partir de « in » lorsqu'elle est vide. Quel est le coût amorti par opération ?
AO(n²)
BO(log n)
CO(n)
DO(1)
5.Moyen
Comment trouve-t-on la clé minimale dans un arbre binaire de recherche ?
AOn suit les enfants gauches depuis la racine jusqu'à ce qu'il n'y en ait plus
BOn visite toutes les feuilles et on les compare
COn regarde uniquement la racine
DOn suit les enfants droits depuis la racine jusqu'à ce qu'il n'y en ait plus
6.Moyen
Quelle quantité de mémoire une matrice d'adjacence utilise-t-elle pour un graphe à V sommets ?
AO(V²)
BO(E)
CO(log V)
DO(V + E)
7.Difficile
Quel est le principal avantage d'une liste à enjambements (skip list) par rapport à une liste chaînée triée ?
AElle stocke les clés sans ordre
BUne recherche en O(log n) en moyenne grâce à plusieurs niveaux de pointeurs avant
CUne recherche en O(1) garantie, car chaque nœud stocke un pointeur vers tous les autres nœuds
DElle n'utilise aucune mémoire supplémentaire
8.Difficile
Un tableau dynamique double de taille lorsqu'il est plein. Pourquoi de nombreuses implémentations ne le réduisent-elles que lorsqu'il est rempli au quart, et non à moitié ?
AParce que diviser par deux à la moitié ferait perdre des éléments
BParce que l'allocateur de mémoire ne peut libérer la mémoire que par quarts de bloc
CPour éviter des redimensionnements répétés lorsque des push et des pop alternent près de la limite
DPour garder le tableau trié
Corrigé
1. C · Une structure qui permet l'insertion et la suppression aux deux extrémités
2. A · Un tableau dynamique peut grandir en passant à un bloc de mémoire plus grand
3. B · Pile (stack)
4. D · O(1)
5. A · On suit les enfants gauches depuis la racine jusqu'à ce qu'il n'y en ait plus
6. A · O(V²)
7. B · Une recherche en O(log n) en moyenne grâce à plusieurs niveaux de pointeurs avant
8. C · Pour éviter des redimensionnements répétés lorsque des push et des pop alternent près de la limite
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.