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
Quelle opération est lente dans un tableau mais rapide en tête d'une liste chaînée ?
ALa lecture du dernier élément par son indice
BL'insertion au début
CL'accès au 5e élément
DLe calcul de la longueur d'un tableau de taille fixe
2.Facile
Dans quel ordre un parcours postfixe (postorder) d'un arbre binaire visite-t-il les nœuds ?
ALe sous-arbre gauche, puis le sous-arbre droit, puis le nœud
BLe sous-arbre droit, puis le nœud, puis le sous-arbre gauche
CLe sous-arbre gauche, puis le nœud, puis le sous-arbre droit
DLe nœud, puis le sous-arbre gauche, puis le sous-arbre droit
3.Facile
La profondeur d'un nœud dans un arbre est :
ALe nombre d'arêtes de ce nœud jusqu'à la feuille la plus profonde
BLe nombre d'arêtes de la racine jusqu'à ce nœud
CLe nombre de nœuds de son sous-arbre
DLe nombre d'enfants de ce nœud
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 liste chaînée non triée
BUne pile
CUn arbre binaire de recherche équilibré
DUne table de hachage
5.Moyen
À quoi sert un nœud sentinelle (factice) dans une liste chaînée ?
AÀ rendre la liste triée
BÀ stocker le nombre d'éléments
CÀ simplifier le code en supprimant les cas particuliers en tête ou en queue
DÀ empêcher la liste de dépasser un nombre maximal fixe de nœuds
6.Moyen
Un trie (arbre de préfixes) est particulièrement efficace pour :
ALe tri de nombres
BLa recherche des plus courts chemins
CLes recherches par préfixe, comme l'autocomplétion
DLe stockage de matrices
7.Difficile
La suppression d'un nœud ayant deux enfants dans un arbre binaire de recherche se fait généralement en :
AL'échangeant avec la racine
BReconstruisant de zéro le sous-arbre situé en dessous et en réinsérant toutes les clés qu'il contenait
CSupprimant tout le sous-arbre
DLe remplaçant par son successeur infixe (ou prédécesseur) puis en supprimant ce nœud
8.Difficile
Quelle affirmation sur le tri par tas (heapsort) est correcte ?
AIl trie sur place en O(n log n) dans le pire cas, mais n'est pas stable
BIl est stable et nécessite O(n) mémoire supplémentaire
CIl s'exécute en O(n) sur toute entrée
DIl nécessite un arbre binaire de recherche comme stockage supplémentaire, donc il utilise O(n) de mémoire en plus
Corrigé
1. B · L'insertion au début
2. A · Le sous-arbre gauche, puis le sous-arbre droit, puis le nœud
3. B · Le nombre d'arêtes de la racine jusqu'à ce nœud
4. C · Un arbre binaire de recherche équilibré
5. C · À simplifier le code en supprimant les cas particuliers en tête ou en queue
6. C · Les recherches par préfixe, comme l'autocomplétion
7. D · Le remplaçant par son successeur infixe (ou prédécesseur) puis en supprimant ce nœud
8. A · Il trie sur place en O(n log n) dans le pire cas, mais n'est pas stable
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.