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
Dans quel ordre un parcours préfixe (preorder) d'un arbre binaire visite-t-il les nœuds ?
ALe sous-arbre gauche, puis le nœud, puis le sous-arbre droit
BLe sous-arbre gauche, puis le sous-arbre droit, puis le nœud
CNiveau par niveau en partant du haut
DLe nœud, puis le sous-arbre gauche, puis le sous-arbre droit
2.Facile
Que contient chaque nœud d'une liste doublement chaînée ?
ADes données, un pointeur vers le nœud suivant et un pointeur vers le nœud précédent
BDes données et deux pointeurs, l'un vers le nœud suivant et l'autre vers le nœud d'après
CDes données et uniquement un pointeur vers le nœud suivant
DDeux copies des données et un pointeur
3.Facile
Qu'est-ce que le facteur de charge d'une table de hachage ?
ALe temps nécessaire pour charger la table depuis le disque
BLe nombre d'éléments stockés divisé par le nombre de compartiments
CLe nombre de compartiments divisé par la longueur moyenne des clés stockées
DLe nombre de collisions survenues jusqu'ici
4.Moyen
Quelle quantité de mémoire une matrice d'adjacence utilise-t-elle pour un graphe à V sommets ?
AO(V²)
BO(V + E)
CO(E)
DO(log V)
5.Moyen
Un tampon circulaire (ring buffer) est couramment utilisé pour implémenter :
AUne fonction de hachage
BUn arbre binaire de recherche
CUne file de taille fixe
DUn parcours de graphe
6.Moyen
Comment trouve-t-on la clé minimale dans un arbre binaire de recherche ?
AOn visite toutes les feuilles et on les compare
BOn suit les enfants droits depuis la racine jusqu'à ce qu'il n'y en ait plus
COn regarde uniquement la racine
DOn suit les enfants gauches depuis la racine jusqu'à ce qu'il n'y en ait plus
7.Difficile
Un arbre de segments (segment tree) est généralement utilisé pour :
ATrier des chaînes par ordre alphabétique en stockant chaque préfixe dans un nœud distinct de l'arbre
BImplémenter une pile
CStocker les arêtes d'un graphe
DRépondre à des requêtes sur intervalles (comme des sommes d'intervalles) et à des mises à jour en O(log n)
8.Difficile
Un nœud AVL est déséquilibré parce que le sous-arbre droit de son enfant gauche est devenu trop haut (cas gauche-droite). Quelle correction applique-t-on ?
AUne rotation à droite sur l'enfant gauche, puis une rotation à gauche sur le nœud
BUne rotation simple à gauche sur le nœud
CUne rotation à gauche sur l'enfant gauche, puis une rotation à droite sur le nœud
DUne rotation simple à droite sur le nœud
Corrigé
1. D · Le nœud, puis le sous-arbre gauche, puis le sous-arbre droit
2. A · Des données, un pointeur vers le nœud suivant et un pointeur vers le nœud précédent
3. B · Le nombre d'éléments stockés divisé par le nombre de compartiments
4. A · O(V²)
5. C · Une file de taille fixe
6. D · On suit les enfants gauches depuis la racine jusqu'à ce qu'il n'y en ait plus
7. D · Répondre à des requêtes sur intervalles (comme des sommes d'intervalles) et à des mises à jour en O(log n)
8. C · Une rotation à gauche sur l'enfant gauche, puis une rotation à droite sur le nœud
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.