logo

Pile ou file d'attente

Dans un premier temps, nous examinerons qu'est-ce que la pile et qu'est-ce que la file d'attente individuellement, puis nous discuterons des différences entre la pile et la file d'attente.

Qu'est-ce qu'une pile ?

Une structure de données. Dans le cas d'un tableau, l'accès aléatoire est possible, c'est-à-dire que n'importe quel élément d'un tableau est accessible à tout moment, alors que dans une pile, l'accès séquentiel n'est possible que. C'est un conteneur qui suit la règle d'insertion et de suppression. Il suit le principe LIFO (dernier entré, premier sorti) dans lequel l'insertion et la suppression ont lieu d'un côté appelé haut . En pile, nous pouvons insérer les éléments d'un type de données similaire, c'est-à-dire que les différents éléments de type de données ne peuvent pas être insérés dans la même pile. Les deux opérations sont effectuées en LIFO, c'est-à-dire pousser et populaire opération.

langage groovy
Pile ou file d'attente

Voici les opérations pouvant être effectuées sur la pile :

    pousser(x):C'est une opération dans laquelle les éléments sont insérés en haut de la pile. Dans le pousser fonction, nous devons passer un élément que nous voulons insérer dans une pile.populaire():C'est une opération dans laquelle les éléments sont supprimés du haut de la pile. Dans le populaire() fonction, nous n’avons besoin de passer aucun argument.coup d'oeil()/haut() :Cette fonction renvoie la valeur de l'élément le plus haut disponible dans la pile. Comme pop(), il renvoie la valeur de l'élément le plus haut mais ne supprime pas cet élément de la pile.est vide():Si la pile est vide, alors cette fonction renverra une valeur vraie ou bien elle renverra une valeur fausse.est rempli():Si la pile est pleine, alors cette fonction renverra une valeur vraie ou bien elle renverra une valeur fausse.

En pile, le haut est un pointeur qui est utilisé pour garder une trace du dernier élément inséré. Pour implémenter la pile, nous devons connaître la taille de la pile. Nous devons allouer de la mémoire pour obtenir la taille de la pile. Il existe deux manières d'implémenter la pile :

    Statique:L'implémentation statique de la pile peut se faire à l'aide de tableaux.Dynamique:L'implémentation dynamique de la pile peut se faire à l'aide d'une liste chaînée.

Qu'est-ce que la file d'attente ?

UN

Similitudes entre la pile et la file d'attente.

Il existe deux similitudes entre la pile et la file d'attente :

    Structure de données linéaire
    La pile et la file d'attente constituent la structure de données linéaire, ce qui signifie que les éléments sont stockés séquentiellement et accessibles en une seule fois.Taille flexible
    La pile et la file d'attente sont de taille flexible, ce qui signifie qu'elles peuvent croître et diminuer en fonction des exigences au moment de l'exécution.

Différences entre la pile et la file d'attente

Pile ou file d'attente

Voici les différences entre la pile et la file d'attente :

Base de comparaison Empiler File d'attente
Principe Il suit le principe LIFO (Last In-First Out), qui implique que l'élément inséré en dernier sera le premier à être supprimé. Il suit le principe FIFO (First In -First Out), qui implique que l'élément qui est ajouté en premier serait le premier élément à être supprimé de la liste.
Structure Il n'a qu'une seule extrémité à partir de laquelle l'insertion et la suppression ont lieu, et cette extrémité est appelée sommet. Il a deux extrémités, c’est-à-dire une extrémité avant et une extrémité arrière. L’extrémité avant est utilisée pour la suppression tandis que l’extrémité arrière est utilisée pour l’insertion.
Nombre de pointeurs utilisés Il ne contient qu’un seul pointeur appelé pointeur supérieur. Le pointeur supérieur contient l'adresse du dernier élément inséré ou de l'élément le plus haut de la pile. Il contient deux pointeurs avant et arrière. Le pointeur avant contient l'adresse du premier élément, tandis que le pointeur arrière contient l'adresse du dernier élément d'une file d'attente.
Opérations effectuées Il effectue deux opérations, push et pop. L'opération push insère l'élément dans une liste tandis que l'opération pop supprime l'élément de la liste. Il effectue principalement deux opérations, mettre en file d'attente et retirer de la file d'attente. L'opération de mise en file d'attente effectue l'insertion des éléments dans une file d'attente tandis que l'opération de retrait de la file d'attente effectue la suppression des éléments de la file d'attente.
Examen de l'état vide Si top==-1, cela signifie que la pile est vide. Si front== -1 ou front = Rear+1, cela signifie que la file d'attente est vide.
Examen de l'état complet Si top== max-1, cette condition implique que la pile est pleine. Si Rear==max-1, cette condition implique que la pile est pleine.
Variantes Il n'a aucun type. Il est de trois types comme la file d'attente prioritaire, la file d'attente circulaire et la file d'attente à double extrémité.
Mise en œuvre Sa mise en œuvre est plus simple. Son implémentation est relativement complexe par rapport à une pile.
Visualisation Une pile est visualisée comme une collection verticale. Une file d'attente est visualisée comme une collection horizontale.

boto3