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
Voici les opérations pouvant être effectuées sur la pile :
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 :
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 :
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.
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
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