Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Piles et files
2
Sommaire Introduction Piles Files Files de priorités
Analyse d'expressions arithmétiques Chapitre 4 Data Structures & Algorithm, 2nd Edition, Robert Lafore
3
Introduction Tableaux, listes chaînées, arbres, etc.
Appropriés pour représenter les données du monde réel Facilitent l'accès aux données : insertion, suppression et recherche Piles, files, etc., Outils de programmation Durée de vie plus courte Prise en charge de certaines tâches Accès restreint : un seul élément est accessible L'interface renforce l'accès restreint Abstraction Piles, files et files de priorités : abstraites Interface : opérations possibles Implémentation non visible
4
Piles Pile : conteneur implémentant le protocole dernier entré, premier sortie (LIFO) Objet accessible : dernier entré Accès à l'avant dernier : enlever le dernier Utile dans plusieurs situations de programmation Contrôle : parenthèses, crochets, accolades Analyse : expression arithmétique
5
Piles Opérations Empiler une valeur au sommet d'une pile;
Remplacer la valeur du sommet d'une pile; Dépiler la valeur du sommet d'une pile; Savoir si une pile est vide; Obtenir la longueur d'une pile; Déterminer la valeur du sommet d'une pile.
6
Piles Opérations
7
Piles Voir EXPILE-FILE (méthode main())
8
Piles Voir EXPILE-FILE (méthode testPile())
9
Piles Voir EXPILE-FILE (classe Pile()) ……
10
Piles Voir EXPILE-FILE (classe Pile()) suite …
11
Piles Applications possibles Inverser un mot, une phrase
Valider les délimiteurs dans une expression arithmétique Valider les délimiteurs dans un programme ({})
12
Files (queue) Nous connaissons tous la notion de file …. d’attente
13
Files (queue) File : implémente le protocole premier entré, premier sortie (FIFO) Objet accessible : objet inséré en premier Utile dans plusieurs situations : Programmation Systèmes d'exploitation Monde réel Opérations : Déposer une valeur à la fin d'une queue ; Prélever la valeur du début d'une queue Savoir si une queue est vide Obtenir la longueur d'une queue Déterminer la valeur du début d'une queue
14
Files (queue) Opérations :
15
Files (circulaire) Avec une file standard: Insertion : fin (rear) se déplace vers le haut Avec un file standard: Suppression : début (front) se déplace vers le haut Quand l’Index = N-1 => il devient impossible d'insérer malgré les emplacements libres Avec une file circulaire, l’indice suivant de la position N-1 et la position 0 : Rear et Front s'enroulent autour du début du tableau Il faut alors maintenir cette relation durant les opérations d'insertion et de suppression Rear en dessous de Front, ne dépasse pas Front
16
Files (circulaire) Opérations
17
Files (queue) Voir EXPILE-FILE (classe File())
18
Files (queue) Voir EXPILE-FILE (classe File()) suite ….
19
Files (queue) Voir EXPILE-FILE (classe File()) suite ….
20
Files de priorité Une queue de priorité est une queue pour laquelle l'insertion à lieu en fonction d'un critère donné Queue triée selon un critère donné Conteneur BIFO : l'élément avec la plus grande priorité est le premier à sortir Largement utilisée dans les systèmes informatisées : imprimantes réseau – petits travaux prioritaires Insertion : selon critère Queue de priorités : tas Rear et Front : aucun rôle en particulier
21
Files de priorité Opérations
22
Analyse d’expressions arithmétiques
Structure utilisée: PILE Par exemple avec les expressions suivantes: 2 * (3 + 4) ((2 + 4) * 7) + 3 * (9 – 5) L'évaluation de ce type d'expression se fait en deux étapes : transformation de l'expression arithmétique dans une forme différente : notation post- fixée; évaluation de l'expression post-fixée Différentes formes d’expression Notation in-fixée : L'opérateur est placé entre les deux opérandes Notation post-fixée : L'opérateur est placé après les deux opérandes Notation pré-fixée : L'opérateur est placé avant les deux opérandes
23
Analyse d’expressions arithmétiques
Exemple d’expressions et formes
24
Analyse d’expressions arithmétiques
Pour transformer une expression in-fixée en une expression post-fixée : réarranger les opérandes et les opérateurs dans un format particulier résultat : évalué plus tard Exemple : A + B * C
25
Analyse d’expressions arithmétiques
Exemple : A + B * C
26
Analyse d’expressions arithmétiques
Exemple:
27
Analyse d’expressions arithmétiques
Algorithme de transformation
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.