Quiz: Introduction aux Structures et Parcours en POO — 24 perguntas

Perguntas e respostas detalhadas

1. Qu’est-ce qu’une interface en programmation orientée objet ?

Un mécanisme qui protège les données internes d’une classe
Le code concret qui réalise les fonctionnalités annoncées
Un contrat qui décrit les fonctionnalités attendues sans détailler leur réalisation
Une classe qui réutilise le comportement d’une autre classe

Un contrat qui décrit les fonctionnalités attendues sans détailler leur réalisation

Explicação

Une interface définit ce qu’un composant doit fournir, sans préciser comment cela est codé. Le code concret relève de l’implémentation, pas de l’interface.

2. Quel mécanisme protège les données internes d’une classe en limitant l’accès direct ?

L’encapsulation
L’héritage
Le polymorphisme
La surcharge

L’encapsulation

Explicação

L’encapsulation rend les attributs internes privés et force l’accès à passer par des méthodes publiques. L’héritage et le polymorphisme concernent plutôt la réutilisation et le comportement.

3. Quel est le rôle principal de l’héritage en programmation orientée objet ?

Empêcher toute redéfinition de méthode
Transformer une liste en file
Réutiliser et étendre le comportement d’une classe parent
Créer un contrat sans code

Réutiliser et étendre le comportement d’une classe parent

Explicação

L’héritage permet à une classe fille de reprendre du code commun et d’ajouter ou spécialiser des comportements. Il ne sert pas à définir un contrat, ce qui correspond à l’interface.

4. Quand parle-t-on de polymorphisme ?

Quand un objet ne peut être utilisé qu’avec sa propre classe
Quand une même interface produit des comportements différents selon le type réel de l’objet
Quand une classe cache ses attributs privés
Quand une méthode ne peut jamais être redéfinie

Quand une même interface produit des comportements différents selon le type réel de l’objet

Explicação

Le polymorphisme permet d’utiliser le même appel sur des objets de classes différentes, avec une exécution adaptée au type réel. Cela suppose souvent une relation parent-enfant et une méthode redéfinie.

5. Dans une pile, quel élément est retiré en premier lors d’une opération pop ?

Le plus petit élément
Le plus ancien ajouté
Le dernier ajouté, au sommet
L’élément au milieu de la pile

Le dernier ajouté, au sommet

Explicação

Une pile suit le principe LIFO : le dernier entré est le premier sorti. L’opération pop retire donc l’élément au sommet.

6. Quelle opération ajoute un élément au sommet d’une pile ?

enqueue
pop
push
pop(0)

push

Explicação

L’opération push ajoute un élément au sommet de la pile sans modifier l’ordre des autres éléments. pop retire au contraire l’élément du sommet.

7. Quel principe décrit le fonctionnement d’une file ?

Le sommet est toujours consulté en premier
Le premier entré est le premier sorti
Le dernier entré est le premier sorti
Le plus grand élément est retiré en premier

Le premier entré est le premier sorti

Explicação

Une file suit le principe FIFO : le premier élément ajouté est celui qui sort en premier. C’est l’inverse du fonctionnement d’une pile.

8. En Python, quelle expression simule le retrait de l’élément en tête d’une file stockée dans une liste ?

liste.push(0)
liste.pop()
liste.remove(0)
liste.pop(0)

liste.pop(0)

Explicação

liste.pop(0) retire et renvoie l’élément situé au début de la liste, ce qui correspond à une file FIFO. liste.pop() retire au contraire le dernier élément.

9. Que représente un dictionnaire en programmation ?

Une structure clé-valeur permettant d’associer une valeur à chaque clé
Une structure qui impose un ordre croissant des clés
Une structure LIFO qui retire toujours le dernier élément
Une structure en couches utilisée pour les parcours de graphe

Une structure clé-valeur permettant d’associer une valeur à chaque clé

Explicação

Un dictionnaire associe des clés à des valeurs et permet un accès direct par clé. Ce n’est ni une pile ni une file.

10. Comment parcourt-on naturellement un dictionnaire pour traiter chaque paire clé-valeur ?

En retirant les éléments de la fin de la liste
En parcourant les clés puis en accédant aux valeurs associées
En visitant les éléments niveau par niveau
En parcourant uniquement les valeurs

En parcourant les clés puis en accédant aux valeurs associées

Explicação

Le parcours d’un dictionnaire se fait classiquement par les clés, avec récupération de la valeur associée pour chaque clé. Le parcours niveau par niveau concerne plutôt les arbres ou graphes avec une file.

11. Qu’est-ce qu’un arbre binaire de recherche ?

Un graphe orienté sans racine
Un arbre où chaque nœud peut avoir n’importe quel nombre d’enfants
Un arbre où les valeurs à gauche sont plus petites et celles à droite plus grandes
Une structure où les éléments sont triés par niveau

Un arbre où les valeurs à gauche sont plus petites et celles à droite plus grandes

Explicação

Dans un ABR, pour chaque nœud, les valeurs du sous-arbre gauche sont plus petites et celles du sous-arbre droit plus grandes. Cette propriété guide la recherche et l’insertion.

12. Quelle affirmation décrit correctement un arbre binaire ?

Chaque nœud a exactement deux parents
La racine est toujours une feuille
Chaque sommet est relié à tous les autres
Chaque nœud a au plus deux enfants

Chaque nœud a au plus deux enfants

Explicação

Un arbre binaire est défini par le fait que chaque nœud possède au plus deux enfants, généralement appelés gauche et droit. Les autres propositions ne décrivent pas un arbre binaire.

13. Comment définit-on la hauteur d’un arbre ?

Le nombre total de nœuds de l’arbre
Le nombre d’arêtes sur le plus long chemin de la racine à une feuille
Le nombre de niveaux impairs
Le nombre de feuilles uniquement

Le nombre d’arêtes sur le plus long chemin de la racine à une feuille

Explicação

La hauteur correspond à la profondeur maximale, mesurée en arêtes, entre la racine et le nœud le plus profond. Elle ne désigne pas le nombre total de nœuds.

14. Quelle est la différence correcte entre taille et hauteur d’un arbre ?

La taille et la hauteur désignent toujours la même chose
La taille compte seulement les feuilles, la hauteur seulement la racine
La taille est le nombre d’arêtes, la hauteur est le nombre de nœuds
La taille est le nombre de nœuds, la hauteur est la profondeur maximale

La taille est le nombre de nœuds, la hauteur est la profondeur maximale

Explicação

La taille d’un arbre est le nombre de nœuds, alors que la hauteur mesure la profondeur maximale en arêtes. Ce sont donc deux grandeurs différentes.

15. Quel ordre de visite correspond au parcours préfixe ?

Gauche, racine, droit
Racine, gauche, droit
Gauche, droit, racine
Racine, droit, gauche

Racine, gauche, droit

Explicação

Le parcours préfixe visite d’abord la racine, puis le sous-arbre gauche, puis le sous-arbre droit. C’est ce qui place la racine en premier dans la liste produite.

16. Dans quel ordre la racine est-elle visitée en parcours suffixe ?

Au milieu
En dernier
Jamais
En premier

En dernier

Explicação

Le parcours suffixe traite d’abord les deux sous-arbres puis visite la racine en dernier. C’est l’inverse du parcours préfixe pour la position de la racine.

17. Comment se déroule la recherche dans un ABR ?

On compare la clé à la racine puis on descend à gauche ou à droite selon le résultat
On parcourt tous les nœuds du niveau le plus bas au plus haut
On compare seulement avec les feuilles
On insère directement la clé à la racine

On compare la clé à la racine puis on descend à gauche ou à droite selon le résultat

Explicação

La recherche dans un ABR suit les comparaisons successives avec les nœuds rencontrés pour choisir la branche gauche ou droite. Elle s’arrête quand la clé est trouvée ou quand on atteint une position vide.

18. Où une nouvelle clé est-elle insérée dans un ABR ?

À la première position vide rencontrée en respectant l’ordre gauche/droite
Uniquement dans le sous-arbre droit
Dans la feuille la plus profonde, sans comparaison
À la racine, quelle que soit sa valeur

À la première position vide rencontrée en respectant l’ordre gauche/droite

Explicação

L’insertion descend l’arbre jusqu’à une position vide, puis crée un nouveau nœud à cet endroit. L’ordre gauche plus petit, droite plus grand doit être conservé.

19. Quelle propriété caractérise un arbre AVL ?

Il est auto-équilibré pour maintenir une hauteur logarithmique
Il autorise une hauteur linéaire pour accélérer les insertions
Il ne permet jamais de rotations
Il n’est pas un arbre binaire de recherche

Il est auto-équilibré pour maintenir une hauteur logarithmique

Explicação

Un AVL est un arbre binaire de recherche auto-équilibré, ce qui maintient sa hauteur en O(log n). Les rotations servent précisément à préserver cet équilibre.

20. Pourquoi effectue-t-on des rotations dans un AVL ?

Pour changer l’ordre des clés dans tout l’arbre
Pour rétablir l’équilibre local tout en conservant la propriété de recherche
Pour supprimer automatiquement les feuilles
Pour transformer l’arbre en graphe

Pour rétablir l’équilibre local tout en conservant la propriété de recherche

Explicação

Les rotations corrigent un déséquilibre local sans casser l’ordre d’un arbre binaire de recherche. Elles permettent de garder des opérations logarithmiques.

21. Qu’est-ce qu’une arête dans un graphe ?

Une liaison entre deux sommets
Un point représentant une entité
Un niveau de profondeur dans un arbre
Une valeur stockée dans un nœud

Une liaison entre deux sommets

Explicação

Une arête relie deux sommets et représente la relation entre eux. Un sommet est le point, alors que l’arête est la connexion.

22. Quand dit-on qu’un graphe est connexe ?

Quand toutes les arêtes sont orientées
Quand toute paire de sommets peut être reliée par une chaîne d’arêtes
Quand chaque sommet est relié à lui-même
Quand il contient uniquement des arêtes pondérées

Quand toute paire de sommets peut être reliée par une chaîne d’arêtes

Explicação

Un graphe est connexe si l’on peut relier n’importe quels deux sommets par un chemin d’arêtes. La pondération ou l’orientation ne suffit pas à définir la connexité.

23. Quelle structure de données est naturellement associée au parcours en profondeur DFS ?

Une file FIFO
Une matrice d’adjacence
Une pile LIFO
Une table de hachage

Une pile LIFO

Explicação

DFS s’appuie naturellement sur une pile, car il explore un chemin aussi loin que possible avant de revenir en arrière. La file FIFO correspond plutôt à BFS.

24. Quelle propriété distingue le parcours en largeur BFS ?

Il garantit le tri lexicographique des sommets
Il explore par couches et atteint d’abord les sommets à distance 1, puis 2, puis 3
Il explore d’abord les sommets les plus profonds
Il utilise obligatoirement une pile

Il explore par couches et atteint d’abord les sommets à distance 1, puis 2, puis 3

Explicação

BFS explore le graphe par couches à partir de la source, ce qui correspond à une file FIFO. C’est aussi ce qui permet de trouver un plus court chemin en nombre d’arêtes dans un graphe non pondéré.

Revisar com flashcards

Memorize as respostas com 24 flashcards sobre Introduction aux Structures et Parcours en POO.

Interface — définition ?

Contrat décrivant des fonctionnalités sans implémentation.

Implémentation — rôle ?

Code concret réalisant une interface.

Encapsulation — objectif ?

Protéger les données internes d’une classe.

Veja os flashcards →

Estude a ficha de revisão

Leia a ficha de revisão completa sobre Introduction aux Structures et Parcours en POO.

Veja a ficha de revisão →

Similar courses

Crie seus próprios quizzes

Importe seu curso e a IA gera quizzes com correções em 30 segundos.

Gerador de quizzes