AccueilLycée Terminale GénéraleSpé NSIStructures de données : piles, files, dictionnaires
💻Lycée Terminale GénéraleSpé NSI

Structures de données : piles, files, dictionnaires

Cours complet de Spé NSI pour le Lycée Terminale Générale. Révise efficacement avec StudentAI.

Points clés à retenir

  • 1Une pile est une structure de données qui fonctionne selon le principe LIFO (Last In, First Out), où le dernier élément ajouté est le premier à être retiré.
  • 2Une file est une structure de données qui fonctionne selon le principe FIFO (First In, First Out), où le premier élément ajouté est le premier à être retiré.
  • 3Les dictionnaires, ou tables de hachage, permettent de stocker des paires clé-valeur, offrant un accès rapide aux valeurs via leurs clés, généralement en temps constant O(1).
  • 4Les opérations principales sur une pile incluent 'push' pour ajouter un élément et 'pop' pour retirer le dernier élément, tandis que sur une file, on utilise 'enqueue' et 'dequeue'.
  • 5Les structures de données comme les piles et les files sont souvent utilisées pour gérer des tâches telles que la gestion des appels de fonction et la planification des processus dans les systèmes d'exploitation.

Structures de données : piles, files, dictionnaires

Introduction


Les structures de données sont des éléments fondamentaux en informatique qui permettent de stocker et d'organiser les données de manière efficace. Comprendre ces structures est essentiel pour résoudre des problèmes complexes et optimiser les performances des algorithmes. Dans ce chapitre, nous allons explorer trois types de structures de données : les piles, les files et les dictionnaires, en illustrant leur utilité à travers des exemples concrets et des exercices pratiques.

Piles


Une pile est une structure de données qui fonctionne selon le principe du dernier entré, premier sorti (LIFO). Cela signifie que le dernier élément ajouté à la pile est le premier à en être retiré. Les piles sont souvent utilisées dans des situations où il est nécessaire de revenir en arrière, comme dans les appels de fonctions ou l'annulation d'actions. Elles sont également employées dans des algorithmes comme le parcours en profondeur des graphes.

Exemple concret : gestion des appels de fonction


Lorsqu'une fonction est appelée dans un programme, son état (variables locales, adresse de retour) est sauvegardé dans une pile. Par exemple, si une fonction A appelle une fonction B, puis B appelle C, l'état de A est sauvegardé avant que B ne soit exécutée. Si C termine, l'état de B est restauré, puis celui de A. Cela permet de gérer efficacement les retours de fonction.

Prenons un exemple chiffré :

  • Appel de A : état de A sauvegardé dans la pile.

  • Appel de B : état de B sauvegardé dans la pile.

  • Appel de C : état de C sauvegardé dans la pile.


Lorsque C se termine, l'état de B est restauré, puis celui de A. Cela peut être visualisé comme suit :

```
Pile :




C (état)
B (état)
A (état)
```

#### Mini-exercice : Suivi d'appels de fonction
Considérons le code suivant :
```python
def A():
print("A")
B()

def B():
print("B")
C()

def C():
print("C")

A()
```

Accède au cours complet gratuitement

Tableaux récapitulatifs, mnémotechniques, exercices corrigés, QCM et colle orale IA — tout est inclus.

S'inscrire gratuitement

Autres chapitres — Spé NSI

Prêt à réviser ton Lycée Terminale Générale ?

QCM illimités, colle orale IA, flashcards et bien plus — 100% gratuit.

Commencer à réviser