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
1Files 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
2Files 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 nonExceptions
ExceptionFileVide si on exécute devant() ou enlever() sur une file videIFT2015, A2009, Sylvie Hamel
Université de Montréal
3Files 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 algorithmesIFT2015, A2009, Sylvie Hamel
Université de Montréal
4Files 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 fileLa position r de la liste est toujours vide
Configuration normaleConfiguration circulaire
IFT2015, A2009, Sylvie Hamel
Université de Montréal
5Files et listes chaînées
Opérations sur une file
Algorithme taille()
retourner (N ! f + r) mod NAlgorithme estVide()
retourner (f = r)On utilise l'opérateur
modulo pour calculer la taille de la fileIFT2015, A2009, Sylvie Hamel
Université de Montréal
6Files et listes chaînées
Opérations sur une file (suite)
Algorithme ajouter(o)
si taille() = N ! 1 alors throw ExceptionFilePleine sinonQ[r] " o
r " (r + 1) mod NL'opération ajouter(o)
envoie une exception si la liste est pleineCette exception est liée
à l'implémentation
IFT2015, A2009, Sylvie Hamel
Université de Montréal
7Files 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 oL'opération enlever()
envoie une exception si la liste est videCette exception est
intrinsèque au TAD pileIFT2015, A2009, Sylvie Hamel
Université de Montréal
8Files 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
9Files 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
10Files 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 noeudsChaque noeud garde en mémoire une
référence à un objet et un lien (pointeur) vers un autre noeud © 2004, Goodrich, TamassiaIFT2015, A2008, Sylvie HamelUniversité de Montréal
11Files 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 HamelUniversité de Montréal
12Files 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 listeLa tête devient le nouveau
noeud© 2005, DrozdekIFT2015, A2009, Sylvie Hamel
Université de Montréal
13Files 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
14Files 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 nullFaire pointer l'ancien dernier
élément sur notre nouveau noeud
"tail" devient le nouveau noeud© 2005, DrozdekIFT2015, A2009, Sylvie Hamel
Université de Montréal
15Files 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
16Files et listes chaînées
(§3.4)IFT2015, A2009, Sylvie Hamel
Université de Montréal
17Files et listes chaînées
Implémenter une pile avec une liste chaînéeOn 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 listeIFT2015, A2009, Sylvie Hamel
Université de Montréal
t noeudséléments
© 2004, Goodrich, Tamassia
h 18Files et listes chaînées
Implémenter une file avec une liste chaînéeOn peut implémenter une file avec
une liste simplement chaînéeL'élément devant la file est gardé en
mémoire dans le premier noeud de la listeL'é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 HamelUniversité 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 queuePlus "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 nonExceptions
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 HamelUniversité de Montréal
objet devant(): retourne l'objet n devant la file sans le retirerImplémentation
liste doublement chaînéequotesdbs_dbs14.pdfusesText_20[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