QCM : Structures de Données en Python — 9 questions

Questions et réponses du QCM

1. Qu'est-ce qu'une liste en Python ?

Une structure de données linéaire, extensible, accessible par indice et native en Python
Une structure de données basée sur des cellules avec pointeurs vers la suivante
Un tableau statique de taille fixe utilisé en Python
Une structure de données non ordonnée qui associe des clés à des valeurs

Une structure de données linéaire, extensible, accessible par indice et native en Python

Explication

Une liste en Python est une structure de données linéaire, extensible, permettant un accès direct par indice grâce à l'implémentation de tableau dynamique native, comme décrit dans le contenu.

2. Quelle méthode est utilisée en Python pour implémenter efficacement une pile (LIFO) ?

Utiliser un dictionnaire avec des clés numériques
Utiliser une liste avec `.insert(0, x)` pour empiler et `.pop()` pour dépiler
Utiliser une liste avec `.append()` pour empiler et `.pop()` pour dépiler
Utiliser une liste avec `.insert()` en début et `.pop()` en fin

Utiliser une liste avec `.append()` pour empiler et `.pop()` pour dépiler

Explication

La méthode efficace pour implémenter une pile en Python est d'utiliser une liste avec `.append()` pour ajouter un élément au sommet (empiler) et `.pop()` pour retirer l'élément au sommet (dépiler). Les autres options sont incorrectes : utiliser `.insert(0, x)` en début est moins efficace, et un dictionnaire n'est pas adapté pour une pile LIFO.

3. Quel est le rôle principal d'une file (FIFO) dans une structure de données ?

Permettre un accès direct à n’importe quel élément
Stocker des données de façon non ordonnée
Gérer un flux d’éléments en respectant l’ordre d’arrivée
Faciliter la recherche rapide d’un élément spécifique

Gérer un flux d’éléments en respectant l’ordre d’arrivée

Explication

Une file FIFO est conçue pour gérer un flux d’éléments en respectant leur ordre d’arrivée, en assurant que le premier inséré est le premier à sortir, conformément au principe 'First In, First Out'.

4. En quelle année la version majeure de Python 3.0, qui a significativement amélioré la gestion des dictionnaires, a été publiée ?

2012
2005
2015
2008

2008

Explication

La version Python 3.0, qui a apporté une gestion améliorée des dictionnaires et d'autres changements majeurs, a été publiée en 2008. Les autres dates correspondent à des versions mineures ou à d'autres évolutions, mais la sortie de Python 3.0 en 2008 marque une étape clé dans l'établissement et la stabilisation de cette structure.

5. En quoi une liste en Python diffère-t-elle d'une liste chaînée ?

Une liste chaînée est une structure immuable, alors qu'une liste en Python est mutable.
Une liste en Python est stockée en mémoire contiguë, alors qu'une liste chaînée utilise des cellules dispersées avec des pointeurs.
Une liste en Python permet un accès direct par indice, alors qu'une liste chaînée nécessite un parcours séquentiel pour accéder à un élément.
Une liste en Python ne peut contenir que des éléments de même type, alors qu'une liste chaînée peut contenir des éléments de types différents.

Une liste en Python permet un accès direct par indice, alors qu'une liste chaînée nécessite un parcours séquentiel pour accéder à un élément.

Explication

Une liste en Python est une structure de données dynamique qui permet un accès direct à ses éléments via leur indice, grâce à une implémentation sous forme de tableau dynamique. En revanche, une liste chaînée est composée de cellules contenant chacune une donnée et un pointeur vers la cellule suivante, nécessitant un parcours séquentiel pour accéder à un élément donné. La différence essentielle réside donc dans la méthode d'accès et d'insertion, la liste Python offrant un accès direct et une insertion efficace en fin, alors que la liste chaînée privilégie une insertion rapide en début ou en milieu, mais avec un accès plus lent.

6. Qui est crédité d'avoir décrit la structure d'une liste chaînée comme étant composée de cellules contenant une donnée et un pointeur vers la cellule suivante ?

E. Dijkstra
A. Turing
D. Roche
L. von Neumann

D. Roche

Explication

D. Roche est mentionné dans le contenu comme ayant défini ou décrit la structure d'une liste chaînée avec ses caractéristiques. Les autres noms sont des figures célèbres en informatique, mais ne sont pas liés à cette définition spécifique.

7. Quelle est la conséquence de la concaténation de deux listes chaînées ?

Elle supprime le dernier élément de la première liste
Elle fusionne deux listes en une seule en reliant le dernier nœud de la première au premier de la seconde
Elle insère un nouvel élément au début de la liste
Elle divise une liste en deux parties séparées

Elle fusionne deux listes en une seule en reliant le dernier nœud de la première au premier de la seconde

Explication

La concaténation de deux listes chaînées consiste à relier le dernier nœud de la première liste au premier nœud de la seconde, ce qui fusionne les deux listes en une seule.

8. Comment appliquer le critère de performance pour choisir la structure de données la plus adaptée à une tâche nécessitant des insertions fréquentes en début de liste ?

Utiliser une liste Python, car elle offre un accès direct par indice, ce qui facilite l'insertion en début.
Utiliser une file (FIFO), car elle est conçue pour insérer rapidement en début de structure.
Utiliser une pile (LIFO), car l'insertion en début est optimale dans cette structure.
Utiliser une liste chaînée, car elle permet une insertion rapide en début de liste en modifiant simplement un pointeur.

Utiliser une liste chaînée, car elle permet une insertion rapide en début de liste en modifiant simplement un pointeur.

Explication

Une liste chaînée est adaptée pour des insertions rapides en début de liste, car il suffit de modifier le pointeur du premier nœud, ce qui est une opération en temps constant. Les listes Python, en revanche, nécessitent de décaler tous les éléments pour insérer en début, ce qui est coûteux. La pile (LIFO) permet d'insérer en début mais n'est pas conçue pour une insertion en position arbitraire, et la file (FIFO) insère en fin, pas en début.

9. Quelle est la caractéristique principale du dictionnaire en Python utilisée lors de l’analyse fréquentielle d’un texte ?

Il stocke les éléments dans un ordre trié, ce qui optimise la recherche de fréquences.
Il utilise une structure de liste pour stocker les éléments, ce qui simplifie leur comptage.
Il conserve l’ordre d’insertion des éléments, ce qui facilite l’analyse des fréquences.
Il permet d’associer des clés uniques à des valeurs, facilitant la comptabilisation rapide des occurrences.

Il permet d’associer des clés uniques à des valeurs, facilitant la comptabilisation rapide des occurrences.

Explication

La caractéristique principale du dictionnaire en Python utilisée lors de l’analyse fréquentielle est qu’il associe des clés uniques à des valeurs, ce qui permet de compter rapidement le nombre d’occurrences d’un élément en utilisant la clé comme élément à analyser. Cette propriété assure une mise à jour et une recherche en temps constant, ce qui est essentiel pour l’efficacité de l’analyse fréquentielle.

Révisez avec les flashcards

Mémorisez les réponses avec 18 flashcards sur Structures de Données en Python.

Liste en Python — définition ?

Structure linéaire, modifiable, accessible par indice.

Tableau dynamique — rôle ?

Permet d’ajouter ou supprimer des éléments sans connaître la taille initiale.

Liste chaînée — définition ?

Ensemble de cellules avec donnée et pointeur vers suivante.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Structures de Données en Python.

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