[PDF] [PDF] 5) Files Rappels: 6) Listes chaînées Type Abstrait de Données FILE





Previous PDF Next PDF



Listes doublement chaînées

2 Affichage inversé d'une liste doublement chaînée. Pour la version itérative (Algorithme 3) l'idée de l'algorithme est de la parcourir jusqu'à la fin avec.



Chapitre 10 Listes chaînées

liste chainée. 24. 8. 56. Nil. L'algorithme est donné sous forme d'une procédure qui Afficher les éléments d'une liste doublement chaînée. Il est possible de ...



Exercices des chapitres 9 10 et 11 Sommaire

voir ci–après */ si precedent ≠ Nil alors. /* la position existe */. 1 allouer(p) ... Pour insérer un élément dans une liste doublement chaînée il faut :.



Listes doublement chaˆınées

afficher. 3. Énoncer les invariants de notre structure de liste chaınée. Regarder notamment les aspects suivants : — définition ou non-définition des champs 



Algorithmique et structures de données II

Les listes doublement chaînées: Dans ces listes les éléments sont chaînées Affichage d'une liste chaînée: Procédure AffichageListe(L:Liste). Variables: P ...



Structures de données IMA S6 Listes avec sentinelle

Listes doublement chaînées. Structure. Listes doublement chaînées. Liste doublement chaînée = on maintient : un pointeur vers la cellule suivante un pointeur 



LIFAP3 : Algorithmique et programmation procédurale

Construire une classe implémentant les listes doublement chaînées non circulaires incluant : • un constructeur et un destructeur.



TP12 : Listes doublement chaînées et polynômes

La structure struct monome_elem sera utilisée pour représenter un terme d'un polynôme. Un polynôme sera codé avec une liste doublement chaînée. Le type polynome 



LIFAPSD : Algorithmique Programmation et Structures de données

affichage de la liste (de droite à gauche et de gauche Implémentez la procédure de tri d'une liste doublement chaînée



Conception de structures de données

Listes doublement chaınées. Files. Simplement chaˆınée vs. doublement chaˆınée La taille est inconnue `a priori ;. Une liste doublement chaˆınée est ...



[PDF] Listes doublement chaînées - LaBRI

2 Affichage inversé d'une liste doublement chaînée Pour la version itérative (Algorithme 3) l'idée de l'algorithme est de la parcourir jusqu'à la fin avec



[PDF] Listes doublement chainées - ENSIIE

Année 2008-2009 Listes doublement chainées Nous avons vu en cours TD et TP que les listes étaient parfois difficiles `a manipuler parce que certains



[PDF] Chapitre 10 Listes chaînées - MIAGE de Nantes

Liste doublement chaînée où chaque élément dispose non plus d'un mais de deux pointeurs afficher la valeur contenue à l'adresse pointée par P */



[PDF] TP6 : Liste doublement chaînée - CNRS

nouvelle implémentation de liste chaînée différente de celle vue en cours et en a affichage de la liste (de droite à gauche et de gauche à droite)



[PDF] Listes et itérateurs - Algo Prog Objet Python

Liste simplement chaînée : un seul pointeur vers l'élément suivant • Liste doublement chaînée : pointeurs vers précédent et suivant 



[PDF] 5) Files Rappels: 6) Listes chaînées Type Abstrait de Données FILE

Files et listes chaînées Garde en mémoire des objets arbitraires Les insertions et suppressions Liste doublement chaînée 16 Files et listes chaînées



[PDF] TP12 : Listes doublement chaînées et polynômes - Cedric/CNAM

La structure struct monome_elem sera utilisée pour représenter un terme d'un polynôme Un polynôme sera codé avec une liste doublement chaînée Le type polynome 



[PDF] Pratique de la programmation et projet TP 7 : Listes (simplement

Liste doublement cha?née : en plus du champ successeur chaque élément contient un champ prédécesseur qui est un pointeur sur l'élément précédent dans la 



[PDF] TD2 : Listes doublement chaˆ?nées et files

TD2 : Listes doublement chaˆ?nées et files Exercice 1 La structure suivante code des listes doublement cha?nées avec maillon void afficher(LISTE l)

5) Files

Rappels:

6) Listes chaînées

1

Files et listes chaînées

Garde en mémoire des objets arbitrairesLes insertions et suppressions se font dans l'ordre "premier arrivé, premier sorti (ou servi!)"

Principales opérations:

ajouter(objet): insère un objet à la fin de la fileobjet enlever(): retire et retourne l'objet au début de la file

Type Abstrait de Données FILE

(§4.7) enqueue(element)dequeue()

IFT2015, A2009, Sylvie Hamel

Université de Montréal

2

Files et listes chaînées

Type abstrait de données FILE (suite)

opérations auxiliaires objet devant(): retourne l'objet n devant la file sans le retirer entier taille(): retourne le nombre d'objets de la file booléen estVide(): indique si la file est vide ou non

Exceptions

ExceptionFileVide si on exécute devant() ou enlever() sur une file vide

IFT2015, A2009, Sylvie Hamel

Université de Montréal

3

Files et listes chaînées

Applications des piles

Listes d'attentes

Applications directes

Accessibilité à des ressources partagées (imprimante)

Applications indirectes

Apparaît comme structure de données auxiliaire dans certains algorithmes

IFT2015, A2009, Sylvie Hamel

Université de Montréal

4

Files et listes chaînées

Première implémentation d'une file

On utilise une liste de longueur N, d'une façon circulaire Deux variables gardent en mémoire le devant et le derrière de la file f est l'indice du devant de la filer est l'indice du derrière de la file

La position r de la liste est toujours vide

Configuration normaleConfiguration circulaire

IFT2015, A2009, Sylvie Hamel

Université de Montréal

5

Files et listes chaînées

Opérations sur une file

Algorithme taille()

retourner (N ! f + r) mod N

Algorithme estVide()

retourner (f = r)

On utilise l'opérateur

modulo pour calculer la taille de la file

IFT2015, A2009, Sylvie Hamel

Université de Montréal

6

Files et listes chaînées

Opérations sur une file (suite)

Algorithme ajouter(o)

si taille() = N ! 1 alors throw ExceptionFilePleine sinon

Q[r] " o

r " (r + 1) mod N

L'opération ajouter(o)

envoie une exception si la liste est pleine

Cette exception est liée

à l'implémentation

IFT2015, A2009, Sylvie Hamel

Université de Montréal

7

Files et listes chaînées

Opérations sur une file (suite)

Algorithme enlever()

si estVide() alors throw ExceptionFileVide sinon o ! Q[f] f ! (f + 1) mod N retourner o

L'opération enlever()

envoie une exception si la liste est vide

Cette exception est

intrinsèque au TAD pile

IFT2015, A2009, Sylvie Hamel

Université de Montréal

8

Files et listes chaînées

Implémentation de notre file

Interface JAVA correspondant

à notre TAD file

On doit définir une classe

ExceptionFileVide

Il n'existe pas de classe JAVA

intrinsèque pour les files public interface Pile { public int taille(); public boolean estVide(); public Object devant() throws EmptyQueueException; public void ajouter(Object o); public Object enlever() throws EmptyQueueException;

IFT2015, A2009, Sylvie Hamel

Université de Montréal

9

Files et listes chaînées

Complexité et limitations

Si N est la longueur de la liste utilisée dans l'implémentation Complexité en espace: O(N)Complexité en temps des opérations: O(1)

Limitations

La longueur maximale de la liste doit être défini à priori et ne peut être changée Essayer d'ajouter un nouvel élément dans une liste pleine cause une exception (liée à l'implémentation)

IFT2015, A2009, Sylvie Hamel

Université de Montréal

10

Files et listes chaînées

Listes chaînées

(§3.3)

Une liste simplement chaînée est une

structure de données concrète constituée d'une séquence de noeuds

Chaque noeud garde en mémoire une

référence à un objet et un lien (pointeur) vers un autre noeud © 2004, Goodrich, TamassiaIFT2015, A2008, Sylvie Hamel

Université de Montréal

11

Files et listes chaînées

La classe "Node"

public classNode{ // Instance variables: private Object element; private Node next; /** Creates a node with null references to its element and next node. */ public Node(){ this(null, null); /** Creates a node with the given element and next node. */ public Node(Object e, Node n) { element = e; next = n; // Accessor methods: public Object getElement() { return element; public Node getNext() { return next; // Modifier methods: public void setElement(Object newElem) { element = newElem; public void setNext(Node newNext) { next = newNext; © 2004, Goodrich, TamassiaIFT2015, A2009, Sylvie Hamel

Université de Montréal

12

Files et listes chaînées

Insérer un élément en tête de liste

Créer un nouveau noeudInsérer un nouvel élémentFaire pointer le nouveau noeud sur l'ancienne tête de liste

La tête devient le nouveau

noeud

© 2005, DrozdekIFT2015, A2009, Sylvie Hamel

Université de Montréal

13

Files et listes chaînées

Enlever l'élément en tête de liste

La tête devient le prochain

élément de la liste

Détacher l'ancienne tête de

la liste

© 2005, DrozdekIFT2015, A2009, Sylvie Hamel

Université de Montréal

14

Files et listes chaînées

Insérer à la fin de la liste

Créer un nouveau noeudInsérer un nouvel élémentFaire pointer le nouvel élément sur null

Faire pointer l'ancien dernier

élément sur notre nouveau noeud

"tail" devient le nouveau noeud

© 2005, DrozdekIFT2015, A2009, Sylvie Hamel

Université de Montréal

15

Files et listes chaînées

Enlever un élément à la fin de la liste

Dans une liste simplement chaînée, on ne peut enlever efficacement un

élément à la fin de la liste

Cela vient du fait que pour accéder au noeud avant le noeud final, on doit passer à travers toute la liste.

© 2005, DrozdekIFT2015, A2009, Sylvie Hamel

Université de Montréal

Liste doublement chaînée

16

Files et listes chaînées

(§3.4)

IFT2015, A2009, Sylvie Hamel

Université de Montréal

17

Files et listes chaînées

Implémenter une pile avec une liste chaînée

On peut implémenter une pile avec une liste

simplement chaînée La complexité en espace est O(n), où n est la taille de la pile et chaque opération peut s'exécuter en O(1) L'objet au dessus de la pile est gardé en mémoire dans le premier noeud de la liste

IFT2015, A2009, Sylvie Hamel

Université de Montréal

t noeuds

éléments

© 2004, Goodrich, Tamassia

h 18

Files et listes chaînées

Implémenter une file avec une liste chaînée

On peut implémenter une file avec

une liste simplement chaînée

L'élément devant la file est gardé en

mémoire dans le premier noeud de la liste

L'élément en fin de file est gardé en

mémoire dans le dernier noeud de la liste La complexité en espace est O(n), où n est la taille de la file et chaque opération peut s'exécuter en O(1)

IFT2015, A2009, Sylvie Hamel

Université de Montréal

noeuds t

éléments

© 2004, Goodrich, Tamassia

ht 19 Files et listes chaînéesIFT2015, A2009, Sylvie Hamel

Université de Montréal

Type Abstrait de Données QUEUE("Deque = Double-ended queue") Garde en mémoire des objets arbitrairesPrincipales opérations: objet enleverDébut(): retire et retourne l'objet au début de la queue

Plus "riche" que la PILE ou la FILE

ajouterDébut(objet): insère un objet au début de la queueajouterFin(objet): insère un objet à la fin de la queueobjet enleverFin(): retire et retourne l'objet à la fin de la queue

Type abstrait de données QUEUE (suite)

opérations auxiliaires objet derrière(): retourne l'objet n derrière la file sans le retirer entier taille(): retourne le nombre d'objets de la file booléen estVide(): indique si la file est vide ou non

Exceptions

ExceptionQueueVide si on exécute devant(), derrière() , enleverDébut() ou enleverFin() sur une queue vide 20 Files et listes chaînéesIFT2015, A2009, Sylvie Hamel

Université de Montréal

objet devant(): retourne l'objet n devant la file sans le retirer

Implémentation

liste doublement chaînéequotesdbs_dbs14.pdfusesText_20
[PDF] affinity analysis

[PDF] affirmation de soi définition psychologie

[PDF] affirmation de soi exemple

[PDF] affirmation de soi exercices pratiques

[PDF] affirmation de soi pdf

[PDF] affirmative vote vs majority vote

[PDF] affordable housing

[PDF] affordable housing experts

[PDF] affordable housing for ssdi recipients

[PDF] affordable housing in india

[PDF] afm 1 1 1964

[PDF] afqt predictor test scores

[PDF] africa age demographics

[PDF] africa population 2050

[PDF] africa population age distribution