QCM : Arbres binaires et parcours (22 questions)

Questions et réponses du QCM

1. Quelle condition définit un arbre binaire localement complet, ou strict ?

Tous ses nœuds ont exactement deux fils.
Toutes ses feuilles se trouvent à la même profondeur.
Chaque niveau est rempli de gauche à droite.
Aucun de ses nœuds n’a exactement un fils.

Aucun de ses nœuds n’a exactement un fils.

Explication

Un arbre binaire localement complet ne possède aucun nœud de degré 1. Avoir toutes les feuilles à la même profondeur est une propriété d’une autre forme particulière d’arbre binaire.

2. Qu’est-ce qui distingue un arbre enraciné d’un arbre sans racine désignée ?

Il impose que tous ses nœuds soient au même niveau.
Il possède nécessairement un nœud ayant exactement deux fils.
Il comporte un nœud particulier désigné comme racine.
Il est formé de plusieurs composantes reliées à une racine.

Il comporte un nœud particulier désigné comme racine.

Explication

Un arbre enraciné est muni d’un nœud particulier appelé racine. Le fait d’avoir exactement deux fils n’est pas requis pour distinguer un arbre enraciné.

3. Un nœud se trouve à trois arêtes de la racine ; quelle est sa profondeur ?

3, car la profondeur est la distance du chemin depuis la racine.
0, car seule la racine a une profondeur définie.
2, car la racine compte comme la première étape du chemin.
4, car il faut compter le nœud lui-même après les trois arêtes.

3, car la profondeur est la distance du chemin depuis la racine.

Explication

La profondeur est la distance du chemin reliant la racine au nœud, donc trois arêtes donnent une profondeur de 3. La racine est à la profondeur 0, et non à la première étape du décompte.

4. Dans le parcours en profondeur conventionnel d’un arbre binaire, quel ordre respecte l’exploration des sous-arbres ?

Le sous-arbre droit est parcouru entièrement avant le sous-arbre gauche
Le sous-arbre gauche est parcouru entièrement avant le sous-arbre droit
La racine est traitée avant d’explorer chacun des deux sous-arbres
Les nœuds sont traités par niveaux avant de passer au niveau suivant

Le sous-arbre gauche est parcouru entièrement avant le sous-arbre droit

Explication

Le parcours en profondeur conventionnel achève l’exploration du sous-arbre gauche avant de passer au sous-arbre droit. Traiter les nœuds par niveaux décrit le parcours en largeur, et non cette règle d’ordre.

5. Quelle forme décrit un arbre binaire étiqueté non vide ?

Un triplet (r, T1, T2), où r est une valeur de type Element et T1 et T2 sont les sous-arbres gauche et droit.
Un couple (r, T), où r est une valeur de type Element et T est l’unique sous-arbre de l’arbre.
Un triplet (T1, r, T2), où r désigne la racine et T1 et T2 sont deux sous-arbres sans position définie.
Une liste de valeurs de type Element, ordonnée selon le parcours des nœuds de l’arbre.

Un triplet (r, T1, T2), où r est une valeur de type Element et T1 et T2 sont les sous-arbres gauche et droit.

Explication

La définition associe à la racine r deux sous-arbres ordonnés, l’un gauche et l’autre droit ; l’arbre vide possède, lui, plusieurs notations possibles. Un couple avec un seul sous-arbre ne décrit pas la structure binaire indiquée.

6. Un arbre binaire localement complet contient 9 nœuds ; combien possède-t-il de feuilles ?

5, d’après la formule n+12\frac{n+1}{2}.
9, car chaque nœud constitue une feuille.
8, car il faut retrancher un nœud interne de la taille.
4, d’après la formule n−12\frac{n-1}{2}.

5, d’après la formule $$\frac{n+1}{2}$$.

Explication

Pour un arbre binaire localement complet de taille n=9n=9, le nombre de feuilles est 9+12=5\frac{9+1}{2}=5. La formule n−12\frac{n-1}{2} donne le nombre de nœuds internes, et non celui des feuilles.

7. Comment un parcours en largeur ordonne-t-il les nœuds d’un arbre ?

En traitant chaque nœud avant ses deux sous-arbres
Par niveaux croissants, puis de gauche à droite dans chaque niveau
En achevant chaque sous-arbre gauche avant d’explorer le sous-arbre droit
En achevant le sous-arbre droit avant d’explorer le sous-arbre gauche

Par niveaux croissants, puis de gauche à droite dans chaque niveau

Explication

Le parcours en largeur traite les nœuds niveau par niveau, de gauche à droite au sein de chaque niveau. Achever un sous-arbre avant de passer au suivant caractérise plutôt le parcours en profondeur.

8. Quels champs contient chaque nœud dans l’implémentation chaînée présentée ?

Deux valeurs et deux pointeurs, chaque pointeur désignant un nœud de même niveau.
Une valeur et deux indices de tableau, indiquant les positions des sous-arbres gauche et droit.
Une valeur et deux pointeurs, sag et sad, vers les sous-arbres gauche et droit.
Une valeur et un pointeur, sag, vers le sous-arbre gauche, le droit étant stocké séparément.

Une valeur et deux pointeurs, sag et sad, vers les sous-arbres gauche et droit.

Explication

Chaque nœud contient sa valeur ainsi que les pointeurs sag et sad, associés respectivement aux sous-arbres gauche et droit. Des indices de tableau correspondent à une autre manière de représenter certaines structures, et non à ces champs de l’implémentation chaînée.

9. Comment l’implémentation chaînée représente-t-elle un arbre vide ?

Par un tableau de taille nulle associé à la racine de l’arbre.
Par deux pointeurs Null réunis dans une structure de nœud vide.
Par un pointeur Null, qui indique l’absence de nœud.
Par un nœud dont la valeur est nulle et les deux pointeurs sont définis.

Par un pointeur Null, qui indique l’absence de nœud.

Explication

Dans cette représentation chaînée, le pointeur Null signale qu’il n’y a pas d’arbre. Un nœud contenant une valeur nulle reste une structure de nœud, ce qui ne correspond pas à cette représentation de l’arbre vide.

10. Que renvoie creerArbre(e, G, D) après avoir reçu une valeur e et deux pointeurs G et D ?

Le pointeur nullptr, comme lors de l’appel creerArbre() sans argument.
Un pointeur vers un nœud alloué contenant e et les pointeurs G et D.
Un pointeur vers un nœud contenant e, avec deux pointeurs initialisés à nullptr.
Un pointeur vers une copie de G, après avoir ajouté e comme valeur de racine.

Un pointeur vers un nœud alloué contenant e et les pointeurs G et D.

Explication

Cette forme de creerArbre alloue un nœud qui contient e et conserve G et D comme pointeurs vers ses sous-arbres. L’appel sans argument, lui, renvoie nullptr, mais ce comportement ne s’applique pas à l’appel avec trois arguments.

11. Quelle description correspond à un arbre binaire filiforme, ou dégénéré ?

Chaque nœud possède deux fils, sauf les feuilles.
Chaque nœud possède au plus un fils.
Aucun nœud ne possède exactement un fils.
Toutes les feuilles sont à la même profondeur.

Chaque nœud possède au plus un fils.

Explication

Dans un arbre filiforme, chaque nœud a un degré d’au plus 1, ce qui autorise les nœuds ayant un seul fils. L’absence de nœuds de degré 1 caractérise plutôt un arbre localement complet.

12. Deux arbres notés (r, T′, Λ) et (r, Λ, T′) sont-ils considérés comme identiques ?

Non, car Λ représente un nœud feuille distinct dans chaque arbre.
Non, car la représentation distingue la position gauche de la position droite du sous-arbre.
Oui, car les deux sous-arbres sont comparés sans tenir compte de leur position.
Oui, car ils contiennent la même racine et le même sous-arbre non vide.

Non, car la représentation distingue la position gauche de la position droite du sous-arbre.

Explication

Dans un arbre binaire étiqueté, la position du fils est conservée : T′ à gauche ne donne pas le même arbre que T′ à droite. L’identité de la racine et du sous-arbre présent ne suffit donc pas à rendre ces deux représentations équivalentes.

13. Selon la définition du degré d’un nœud dans ce cours, que faut-il compter ?

Le nombre de fils que possède le nœud.
Le nombre de ses ancêtres depuis la racine.
Le nombre de nœuds situés au même niveau.
Le nombre de liens sur le chemin vers une feuille.

Le nombre de fils que possède le nœud.

Explication

Le degré d’un nœud correspond au nombre de fils qu’il possède. Le nombre de liens qui le séparent de la racine relève plutôt de sa profondeur.

14. Dans un arbre, un nœud possède trois fils ; comment le classer ?

Comme un nœud de degré 0, puisque ses fils sont distincts.
Comme un nœud interne, puisque son degré est au moins 1.
Comme une feuille, puisque son degré est supérieur à 0.
Comme une racine, puisque son degré dépasse 2.

Comme un nœud interne, puisque son degré est au moins 1.

Explication

Un nœud ayant trois fils a un degré de 3 et est donc un nœud interne, dont le degré est au moins 1. Une feuille, au contraire, est un nœud de degré 0.

15. Quelles méthodes conviennent à l’implémentation d’un parcours en profondeur ?

Un parcours par niveaux ou, de façon itérative, une liste triée
La récursion ou, de façon itérative, une pile
Une file ou, de façon récursive, un tri des nœuds
Une table de hachage ou, de façon itérative, une file

La récursion ou, de façon itérative, une pile

Explication

Le parcours en profondeur s’implémente naturellement par récursion ou itérativement avec une pile. Une file est associée au parcours en largeur, car elle soutient le traitement des nœuds par niveaux.

16. Quelle propriété caractérise un arbre en théorie des graphes ?

C’est un graphe connexe où chaque sommet a le même degré.
C’est un graphe connexe et acyclique.
C’est un graphe acyclique qui peut être non connexe.
C’est un graphe orienté comportant un circuit unique.

C’est un graphe connexe et acyclique.

Explication

Un arbre en théorie des graphes est à la fois connexe et dépourvu de cycle. Un graphe acyclique qui n’est pas connexe ne satisfait pas la condition de connexité.

17. Lors d’un parcours infixe, à quel moment la racine est-elle traitée par rapport aux deux sous-arbres ?

Avant le sous-arbre gauche et après le sous-arbre droit
Après le sous-arbre gauche et avant le sous-arbre droit
Avant le sous-arbre gauche et avant le sous-arbre droit
Après le sous-arbre gauche et après le sous-arbre droit

Après le sous-arbre gauche et avant le sous-arbre droit

Explication

En infixe, on traite d’abord le sous-arbre gauche, puis la racine, puis le sous-arbre droit. Traiter la racine avant les deux sous-arbres correspond à l’ordre préfixe.

18. Dans quel but les arbres enracinés sont-ils utilisés en informatique ?

Pour stocker des données sans relations entre leurs éléments.
Pour modéliser exclusivement des réseaux où chaque sommet est équivalent.
Pour représenter des séquences dont les éléments n’ont aucun lien hiérarchique.
Pour représenter une information hiérarchique ou organiser des données.

Pour représenter une information hiérarchique ou organiser des données.

Explication

En informatique, un arbre enraciné sert de modèle hiérarchique pour représenter l’information ou structurer des données. Une séquence sans relation hiérarchique ne correspond pas à cet usage caractéristique.

19. Un arbre contient 8 nœuds ; quelle est sa taille ?

0, car seule une structure vide a une taille définie.
8, car la taille compte le nombre de nœuds.
9, car la taille compte les nœuds et les liens.
7, car la taille exclut la racine.

8, car la taille compte le nombre de nœuds.

Explication

La taille d’un arbre est égale à son nombre de nœuds, donc cet arbre a une taille de 8. La racine fait partie des nœuds et n’est pas retranchée du compte.

20. Dans le vocabulaire de ce cours, quelle structure décrit un arbre binaire complet ?

Un arbre dont aucun nœud ne possède un seul fils, quelle que soit la profondeur des feuilles.
Un arbre dont les niveaux sont remplis jusqu’à l’avant-dernier et dont le dernier est aligné à gauche.
Un arbre dont chaque nœud possède au plus un fils et dont une seule feuille subsiste.
Un arbre dont toutes les feuilles sont à la même profondeur et dont chaque niveau est entièrement rempli.

Un arbre dont toutes les feuilles sont à la même profondeur et dont chaque niveau est entièrement rempli.

Explication

Un arbre binaire complet a toutes ses feuilles à la même profondeur et chaque niveau est entièrement rempli. Le remplissage des niveaux jusqu’à l’avant-dernier avec un dernier niveau aligné à gauche décrit l’arbre parfait dans le vocabulaire donné.

21. Quelle structure permet d’implémenter itérativement un parcours en largeur ?

Une liste triée, qui classe les nœuds selon leur valeur
Une pile, qui conserve les nœuds à traiter en profondeur
Une table de hachage, qui associe chaque nœud à son parent
Une file, qui organise le traitement des nœuds par niveaux

Une file, qui organise le traitement des nœuds par niveaux

Explication

Une file permet de traiter successivement les nœuds découverts dans l’ordre nécessaire au parcours en largeur. Une pile est plutôt la structure utilisée pour un parcours en profondeur itératif.

22. Dans quel ordre la fonction detruire libère-t-elle un nœud non nul et ses descendants ?

Elle libère les pointeurs des deux sous-arbres sans appel récursif, puis conserve le nœud.
Elle libère d’abord le nœud avec delete, puis détruit récursivement ses deux sous-arbres.
Elle détruit récursivement les sous-arbres gauche et droit, puis libère le nœud avec delete.
Elle détruit le sous-arbre gauche, libère le nœud, puis détruit le sous-arbre droit.

Elle détruit récursivement les sous-arbres gauche et droit, puis libère le nœud avec delete.

Explication

La fonction applique la destruction récursive aux sous-arbres gauche et droit avant de libérer le nœud courant avec delete. Libérer le nœud avant de traiter ses descendants ne respecte pas l’ordre de destruction décrit.

Révisez avec les flashcards

Mémorisez les réponses avec 46 flashcards sur Arbres binaires et parcours.

En théorie des graphes, qu’est-ce qu’un arbre ?

Un graphe connexe et acyclique.

Qu’est-ce qu’un arbre enraciné ?

Un arbre muni d’un nœud particulier appelé racine.

À quoi sert un arbre enraciné en informatique ?

À modéliser une représentation hiérarchique de l’information ou une structure de données.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Arbres binaires et parcours.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM