0% ont trouvé ce document utile (0 vote)
137 vues4 pages

Python Stack and Queue - FR

Le document décrit les structures de données de pile et de file d'attente en Python, y compris leurs caractéristiques et opérations clés comme push, pop, enqueue et dequeue.

Transféré par

Elisabete Grasia Amina
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
137 vues4 pages

Python Stack and Queue - FR

Le document décrit les structures de données de pile et de file d'attente en Python, y compris leurs caractéristiques et opérations clés comme push, pop, enqueue et dequeue.

Transféré par

Elisabete Grasia Amina
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 4

Stack et Queue Python

La structure des données organise le stockage dans les ordinateurs afin que nous
puissions facilement accéder aux données et les modifier. Les stacks et les files
d'attente sont les premières données structurées définies en informatique. Une
simple liste Python peut également servir de file d'attente et de pile. Une file
d'attente suit la règle FIFO (First In First Out) et utilisé dans la programmation
pour le tri. Il est courant que les stacks et les files d'attente soient implémentées
avec un tableau ou une liste liée.
Stack
Un stack est une structure de données qui suit le principe LIFO (Last In First
Out). Pour implémenter une pile, nous avons besoin de deux opérations simples
 push - Il ajoute un élément au sommet de la pile.
 pop - Il supprime un élément du haut de la pile.

Opérations :
Ajout - Il ajoute les éléments dans la pile et augmente la taille de la
pile. L'addition a lieu en haut de la pile.
Suppression - Il se compose de deux conditions, d'abord, si aucun élément n'est
présent dans la pile, alors un débordement se produit dans la pile, et
deuxièmement, si un stack contient des éléments, puis l'élément le plus haut est
supprimé. Cela réduit la taille de la pile.
Parcours - Il s'agit de visiter chaque élément de la pile.
Caractéristiques:
 L'ordre d'insertion de la pile est conservé.
 Utile pour analyser les opérations.
 La duplication est autorisée.
Code
# Code pour démontrer la mise en œuvre de
# pile en utilisant la liste
x = [ "Python" , "C" , "Android" ]
x.push( "Java" )
x.push( "C++" )
imprimer (x)
imprimer (x.pop())
imprimer (x)
imprimer (x.pop())
imprimer (x)

Sortir:
['Python', 'C', 'Android', 'Java', 'C++']
C++
['Python', 'C', 'Android', 'Java']
Java
['Python', 'C', 'Android']

File d'attente
Une file d'attente suit le principe du premier entré, premier sorti (FIFO). Il est
ouvert des deux côtés, nous pouvons donc facilement ajouter des éléments à
l'arrière et pouvons retirer les éléments de l'avant.
Pour implémenter une file d'attente, nous avons besoin de deux opérations
simples :
enqueue - Il ajoute un élément à la fin de la file d'attente.
dequeue - Il supprime l'élément du début de la file d'attente.

Opérations sur la file d'attente


Addition - Elle ajoute l'élément dans une file d'attente et a lieu à l'extrémité
arrière, c'est-à-dire à l'arrière de la file d'attente.
Suppression - Elle se compose de deux conditions - Si aucun élément n'est
présent dans la file d'attente, un débordement se produit dans la file d'attente, ou
si une pile contient
certains éléments puis l'élément présent à l'avant sont supprimés.
Traversée - Elle consiste à visiter chaque élément de la file d'attente.

Caractéristiques
 L'ordre d'insertion de la file d'attente est conservé.
 La duplication est autorisée.
 Utile pour analyser les opérations des tâches CPU
Remarque : La mise en œuvre d'une file d'attente est un peu différente. Une file
d'attente suit le "First-In-First-Out". Le temps joue ici un rôle important. Le
stack est rapide car nous insérons et enlevons les éléments de la fin de la liste,
alors que dans la file d'attente, l'insertion et la supression se font à partir du
début de la liste, donc ça devient lent. La cause de ce décalage horaire est due
aux propriétés de la liste, qui est rapide en fin d'opération mais lente au début
des opérations car tous les autres éléments doivent être déplacés un par un.
Code
import queue
# La file d'attente est créée en tant qu'objet 'L'
L = file d'attente.Queue(maxsize=10)
# Les données sont insérées dans 'L' à la fin en utilisant put()
L.put(9)
L.put(6)
L.put(7)
L.put(4)
# get() prend les données de la tête de la file d'attente
print (L.get())
print (L.get())
print (L.get())
print (L.get())

Sortir:
9
6
7
4

Vous aimerez peut-être aussi