Pile File

Pages: 7 (1529 mots) Publié le: 31 août 2015

Structure de données: les piles et les files


Une structure de données est une organisation logique des données permettant de simplifier ou d'accélérer leur traitement (elle se définit tout simplement comme étant la manière de représenter des données.)
Le but de ce chapitre est de décrire des représentations des structures de données telles : les piles et les files. L’autre but recherché estde voir l’importance de ces structures à travers quelques exemples d’applications.
En python, le type liste permet de représenter chacune de ces structures de données.

1. Pile

Une pile est une structure de données qui suit le principe dernier entré - premier sorti (Ou LIFO pour Last In - First Out ). Elle correspond exactement à l’image traditionnelle d’une pile de cartes ou d’assiettes poséesur une table. En particulier, on ne peut accéder qu’au dernier élément ajouté, qu’on appelle le sommet de la pile. Ainsi, si on a ajouté successivement A, puis B, puis C dans une pile, on se retrouve dans la situation suivante :







C est empilé sur B, lui-même empilé sur A. On peut soit retirer C de la pile (on dit qu’on « dépile » C), soit ajouter un quatrième élément D (on dit qu’on « empile» D). Si on veut accéder à l’élément A, il faut commencer par dépiler C, puis B.
L’opération consistant à insérer un élément dans une pile s’appelle empiler. L’opération consistant à supprimer un élément d’une pile s’appelle dépiler. Ces deux opérations s’accomplissent du même côté de la pile.
1.1. Applications
Dans un navigateur web, une pile sert à mémoriser les pages Web visitées. L'adresse dechaque nouvelle page visitée est empilée et l'utilisateur dépile l'adresse de la page précédente en cliquant le bouton « Afficher la page précédente ».
La fonction « Annuler la frappe » (en anglais « Undo ») d'un traitement de texte mémorise les modifications apportées au texte dans une pile.
Pile de vérification de la correction des parenthèses d’une chaîne de caractères
1.2. Opérationscaractérisant une structure de pile
Les trois opérations principales sont réalisées par les fonctions creer_pile, depiler et empiler.
creer_pile(c) renvoie une nouvelle pile de capacité c, initialement vide.
depiler(p) dépile et renvoie le sommet de la pile p.
empiler(p, v) empile la valeur v sur la pile p.
Les opérations depiler et empiler modifient le contenu de la pile passée en argument. Voici uneillustration de l’utilisation de ces trois opérations :
p = creer_pile(10)
empiler(p, A)


empiler(p, B)
empiler(p, C)


depiler(p)
D’autres opérations sont disponibles, mais ne modifient pas la pile :
taille(p) renvoie le nombre d’éléments contenus dans la pile p.
est_vide(p) indique si la pile p est vide.
sommet(p) renvoie le sommet de la pile p, sans modifier p.

1.3. Réalisation d’une pile
Nouspouvons exploiter la possibilité d’ajouter ou supprimer des éléments à l’extrémité droite d’un tableau en Python.
La méthode append permet d’empiler un élément dans une pile et la méthode pop pour dépiler.
# Implémentation du type abstrait Pile avec des listes Python
def creer_pile( ):
return [ ]

def depiler(p):
assert len(p) > 0
return p.pop( )

def empiler(p, v):
p.append(v)

defsommet(p):
assert len(p) > 0
return p[-1]

def taille(p):
return len(p)

def est_vide(p):
return taille(p) == 0
1.4. Application 1 : Reconnaissance des expressions bien parenthésées
On considère le problème suivant : étant donnée une chaîne de caractères ne contenant que des caractères '(' et ')', déterminer s’il s’agit d’un mot bien parenthésé.
Un mot bien parenthésé est une succession deparenthèses ouvrantes et fermantes, telle que une ouvrante est toujours refermée par une fermante.
Exemple :
( )( )( ) et ( ( ) ) sont des mots bien parenthésés .
) ( et ( ( ( ) ) sont des mots pas bien parenthésés .
Nous stockons les parenthèses ouvrantes non encore refermées dans une pile de caractères, Le programme lit caractère par caractère le mot entré :
si c'est une ouvrante, elle est...
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Vous pouvez également trouver ces documents utiles

  • Strucuture pile et file
  • La Pile
  • Pile
  • Pile
  • Pile
  • File
  • pile
  • lA PILE

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !