À retenir
- Principe FIFO (First In, First Out) : premier entré, premier sorti.
- L'ajout se fait toujours à la fin (enfiler).
- Le retrait se fait toujours au début (défiler).
Une file est une structure de données qui organise les éléments selon le principe du « premier arrivé, premier servi ». Imaginez une file d'attente à la caisse d'un magasin : la première personne qui entre dans la ligne est logiquement la première à en sortir pour être servie.
Étymologie
Le mot provient du latin filum (le fil), qui a donné « fil » puis « file » au XVe siècle pour désigner une suite d'objets ou de personnes placés les uns derrière les autres. En informatique, on utilise aussi souvent le terme anglais queue (la queue).
Exemples d'usage
- La gestion des impressions : les documents envoyés à l'imprimante sont traités dans leur ordre d'arrivée.
- Les messages dans une application de chat : ils s'affichent et sont traités selon l'ordre d'envoi.
- Les serveurs de jeux vidéo : quand un serveur est plein, les joueurs attendent dans une file avant d'entrer.
Cas d'usage
On utilise les files dans le développement de systèmes d'exploitation pour gérer les tâches du processeur, dans les réseaux pour acheminer les paquets de données, ou encore dans les algorithmes de parcours de graphes (comme le parcours en largeur).
Bonnes pratiques
Pour manipuler une file, évitez d'utiliser des tableaux classiques si vous devez supprimer souvent le premier élément, car cela oblige l'ordinateur à décaler tous les autres (ce qui est lent). Privilégiez des structures dédiées comme les collections.deque en Python ou les Queue en Java qui sont optimisées pour ces opérations.
Synonymes
Antonymes
Conseil
Pour bien comprendre, visualisez la file comme un tunnel : ce qui entre par un bout doit obligatoirement ressortir par l'autre bout dans le même ordre. C'est l'outil idéal pour gérer des flux de données asynchrones.
Questions fréquentes
Quelle est la différence entre une file et une pile ?
Dans une file (FIFO), le premier arrivé sort en premier. Dans une pile (LIFO), c'est le dernier arrivé qui sort en premier, comme une pile d'assiettes.
Peut-on accéder directement au milieu d'une file ?
Théoriquement non. Une file standard ne permet d'interagir qu'avec le début ou la fin pour garantir l'ordre de passage.