File d'attente

Structure FIFO où le premier élément ajouté est retiré en premier.

A queue is an abstract data type where elements are added at the back (enqueue) and removed from the front (dequeue). It mimics real-world waiting lines and is vital for asynchronous tasks, printer spooling, and breadth-first search algorithms.

        graph LR
  Center["File d'attente"]:::main
  Rel_stack["stack"]:::related -.-> Center
  click Rel_stack "/terms/stack"
  Rel_array["array"]:::related -.-> Center
  click Rel_array "/terms/array"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Test de connaissances

1 / 1

🧒 Explique-moi comme si j'avais 5 ans

Imaginez faire la queue pour une glace. La première personne dans la file est servie en premier, et les nouvelles personnes rejoignent l'arrière. C'est comme ça que fonctionne une file d'attente !

🤓 Expert Deep Dive

Les files sans verrou (Michael-Scott) permettent un accès concurrent élevé. Les tampons circulaires (Ring buffers) sont efficaces. Les files de vol de travail (work-stealing) optimisent l'ordonnancement parallèle.

📚 Sources