Sobes.tech
Junior

Qu'est-ce qu'une file d'attente dans le contexte de la programmation?

sobes.tech IA

Réponse de l'IA

Une file d’attente (Queue) est un type de données abstrait qui implémente le principe FIFO (First-In, First-Out), où le premier élément ajouté sera le premier supprimé.

Opérations principales :

  • Enqueue : Ajouter un élément à la fin de la file.
  • Dequeue : Supprimer un élément du début de la file.
  • Peek/Front : Obtenir la valeur de l’élément au début de la file sans le supprimer.
  • IsEmpty : Vérifier si la file est vide.
  • Size : Obtenir le nombre actuel d’éléments dans la file.

Exemples d’utilisation :

  • Gestion des tâches dans les systèmes d’exploitation.
  • Traitement des requêtes dans les serveurs web.
  • Algorithmes de parcours de graphes (BFS - Breadth-First Search).
  • Buffers pour le traitement séquentiel des données.

La mise en œuvre peut être basée sur des tableaux ou des listes chaînées.

# Exemple d’implémentation d’une file en utilisant une liste en Python
class Queue:
    def __init__(self):
        self.items = []

    def is_empty(self):
        return self.items == []

    def enqueue(self, item):
        self.items.append(item) # Ajouter à la fin

    def dequeue(self):
        if not self.is_empty():
            return self.items.pop(0) # Supprimer du début
        return None

    def peek(self):
        if not self.is_empty():
            return self.items[0]
        return None

    def size(self):
        return len(self.items)