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

Piles Files

Transféré par

girranprods
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)
83 vues4 pages

Piles Files

Transféré par

girranprods
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

Les Files et les Piles en Python

Omar Tamid
August 17, 2024

Contents
1 Introduction 2

2 Les Piles (Stacks) 2


2.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Implémentation en Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.3 Exercice d’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3 Les Files (Queues) 3


3.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2 Implémentation en Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.3 Exercice d’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4 Conclusion 4

1
1 Introduction
Dans ce document, nous allons explorer les concepts des files et des piles en Python. Nous
aborderons leur définition, leur mise en œuvre, ainsi que des exemples d’application pour
chaque structure de données.

2 Les Piles (Stacks)


2.1 Définition
Une pile est une structure de données qui fonctionne selon le principe du dernier entré,
premier sorti (LIFO).

2.2 Implémentation en Python

Listing 1: Implémentation d’une pile en Python


class Pile :
def __init__ ( s e l f ) :
s e l f . elements = [ ]

def e s t _ v i d e ( s e l f ) :
return len ( s e l f . e l e m e n t s ) == 0

def e m p i l e r ( s e l f , element ) :
s e l f . e l e m e n t s . append ( element )

def d e p i l e r ( s e l f ) :
i f s e l f . est_vide ( ) :
r a i s e I n d e x E r r o r ( "La␣ p i l e ␣ e s t ␣ v i d e " )
return s e l f . e l e m e n t s . pop ( )

def sommet ( s e l f ) :
i f s e l f . est_vide ( ) :
r a i s e I n d e x E r r o r ( "La␣ p i l e ␣ e s t ␣ v i d e " )
return s e l f . e l e m e n t s [ −1]

2.3 Exercice d’application


Exercice 1 : Implémentez une pile qui permet de vérifier si une expression parenthésée
est bien formée.
Correction :
Listing 2: Correction de l’exercice 1
def v e r i f i e r _ p a r e n t h e s e s ( e x p r e s s i o n ) :
pile = Pile ()
for char in e x p r e s s i o n :
i f char == ’ ( ’ :
p i l e . e m p i l e r ( char )
e l i f char == ’ ) ’ :

2
i f p i l e . est_vide ( ) :
return F a l s e
pile . depiler ()
return p i l e . e s t _ v i d e ( )

# Test
e x p r e s s i o n = " ( a␣+␣b ) ␣∗␣ ( c ␣−␣d ) "
print ( v e r i f i e r _ p a r e n t h e s e s ( e x p r e s s i o n ) ) # True

3 Les Files (Queues)


3.1 Définition
Une file est une structure de données qui fonctionne selon le principe du premier entré,
premier sorti (FIFO).

3.2 Implémentation en Python

Listing 3: Implémentation d’une file en Python


class File :
def __init__ ( s e l f ) :
s e l f . elements = [ ]

def e s t _ v i d e ( s e l f ) :
return len ( s e l f . e l e m e n t s ) == 0

def e n f i l e r ( s e l f , element ) :
s e l f . e l e m e n t s . i n s e r t ( 0 , element )

def d e f i l e r ( s e l f ) :
i f s e l f . est_vide ( ) :
r a i s e I n d e x E r r o r ( "La␣ f i l e ␣ e s t ␣ v i d e " )
return s e l f . e l e m e n t s . pop ( )

def p r e m i e r ( s e l f ) :
i f s e l f . est_vide ( ) :
r a i s e I n d e x E r r o r ( "La␣ f i l e ␣ e s t ␣ v i d e " )
return s e l f . e l e m e n t s [ −1]

3.3 Exercice d’application


Exercice 2 : Implémentez une file qui permet de simuler une file d’attente dans une
banque.
Correction :
Listing 4: Correction de l’exercice 2
def s i m u l e r _ f i l e _ b a n q u e ( ) :
file = File ()
f i l e . e n f i l e r ( " C l i e n t ␣1" )

3
f i l e . e n f i l e r ( " C l i e n t ␣2" )
f i l e . e n f i l e r ( " C l i e n t ␣3" )

while not f i l e . e s t _ v i d e ( ) :
print ( f " S e r v i c e ␣ de ␣ : ␣{ f i l e . d e f i l e r ( ) } " )

# Test
simuler_file_banque ()

4 Conclusion
Les files et les piles sont des structures de données fondamentales qui trouvent leur ap-
plication dans divers domaines. Les exercices ci-dessus offrent une pratique de base pour
comprendre leur fonctionnement en Python.

Vous aimerez peut-être aussi