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
Que contient chaque nœud d'une liste doublement chaînée ?
ADes données et uniquement un pointeur vers le nœud suivant
BDes données, un pointeur vers le nœud suivant et un pointeur vers le nœud précédent
CDes données et deux pointeurs, l'un vers le nœud suivant et l'autre vers le nœud d'après
DDeux copies des données et un pointeur
2.Facile
Dans un arbre, que sont des nœuds frères ?
ADes nœuds de même profondeur dans des sous-arbres différents
BDes nœuds qui ont le même parent
CDes nœuds qui n'ont pas d'enfant
DUn nœud et son parent
3.Facile
Dans un arbre, qu'est-ce qu'une feuille ?
AUn nœud ayant exactement un enfant
BUn nœud sans parent
CUn nœud sans enfant
DLe nœud de plus grande valeur
4.Moyen
Une application a besoin de recherches rapides, mais aussi de lister les clés dans l'ordre trié et de répondre à des requêtes par intervalle. Quelle structure convient le mieux ?
AUne table de hachage
BUn arbre binaire de recherche équilibré
CUne pile
DUne liste chaînée non triée
5.Moyen
Les clés 50, 30, 70, 20, 40 sont insérées dans cet ordre dans un arbre binaire de recherche vide. Quel est l'enfant gauche de 30 ?
A70
B40
C20
D50
6.Moyen
Dans un tas binaire min stocké dans un tableau (indices commençant à 0), les enfants du nœud d'indice i se trouvent aux indices :
Ai/2 et i/2 + 1
B2i et 2i + 1
Ci + 1 et i + 2
D2i + 1 et 2i + 2
7.Difficile
Pourquoi un serveur pourrait-il choisir sa fonction de hachage au hasard dans une famille universelle ?
APour garantir que deux clés n'entrent jamais en collision, quelles que soient les clés envoyées par un attaquant
BPour supprimer le besoin de redimensionner la table
CPour rendre très improbable qu'un attaquant puisse choisir de nombreuses clés qui entrent toutes en collision
DPour que la table de hachage soit triée
8.Difficile
Un arbre de segments (segment tree) est généralement utilisé pour :
AStocker les arêtes d'un graphe
BRépondre à des requêtes sur intervalles (comme des sommes d'intervalles) et à des mises à jour en O(log n)
CTrier des chaînes par ordre alphabétique en stockant chaque préfixe dans un nœud distinct de l'arbre
DImplémenter une pile
Corrigé
1. B · Des données, un pointeur vers le nœud suivant et un pointeur vers le nœud précédent
2. B · Des nœuds qui ont le même parent
3. C · Un nœud sans enfant
4. B · Un arbre binaire de recherche équilibré
5. C · 20
6. D · 2i + 1 et 2i + 2
7. C · Pour rendre très improbable qu'un attaquant puisse choisir de nombreuses clés qui entrent toutes en collision
8. B · Répondre à des requêtes sur intervalles (comme des sommes d'intervalles) et à des mises à jour en O(log n)
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.