 Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Structures de données avancées : Principales structures de fichiers
Structures de données avancées : B arbres
Structures de données avancées : Principales structures de données
Structures de données avancées : Introduction
Chap. 4 Recherche en Table
Cours Algorithmique et Analyse : Structures linéaires
Cours n° 6 Standard Template Library I.
Structures de données et complexité
Structures de données et complexité LIFO – FILO – FIFO – etc…
Sensibilisation à l’Algorithmique et structure de données
GEF 243B Programmation informatique appliquée Décisions de design avec structures de données §15.1 – 15.2.
Types de données abstraites
Cours n° 8 Conception et Programmation à Objets
Chap. 1 Structures séquentielles : listes linéaires
Chapitre IV. Structures linéaires (piles, files, listes chaînées)
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Structures de données linéaires
A B D A B D LSC avec « sentinelle »
Structures de données et algorithmes – C5 Maria-Iuliana Dascalu, PhD
II. Chaînage, SDD séquentielles
8PRO100 Éléments de programmation Allocation dynamique de la mémoire.
Methode de Tri efficace
II. Chaînage, SDD séquentielles
Définition d’un maillon de liste
IFT-2000: Structures de Données Listes chaînées Dominic Genest, 2009.
Chapitre 21 Collections Partie I Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est.
Standard Template Library (STL)
Indexation 1. Concepts de base 2. Arbre B 3. Indexes secondaires.
Structures de données IFT-2000
Etude de cas : buffer clavier
Les fichiers indexés (Les B-arbres)
IFT-2000: Structures de données
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem Standard Template library Édition Septembre 2009 Département dinformatique et de génie logiciel.
Structures de données IFT-10541
Présentation Structures de Données et TDA
Sixième cours Les chaînes de caractères et le passage de paramètres par référence Passage de paramètres par référence String.h.
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Standard Template Library
1 Le fichier séquentiel Suite finie déléments dun même type Exemples : – fichier des livres dune bibliothèque – enregistrements sur un magnétophone – ensemble.
IV. Arbres  Arbre binaire (AB) Représentation SDD d’un AB
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem Retour sur les listes ordonnées Département dinformatique et de génie logiciel Édition Septembre 2009.
Plan cours La notion de pointeur et d’adresse mémoire.
Le langage C Structures de données
Le langage C Rappel Pointeurs & Allocation de mémoire.
Ch. PAUL - Piles et Files à l'aide de listes chainées
Université Mohammed V-Agdal École Supérieure de Technologie Salé
II. Chaînage, SDD séquentielles
Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.
II. Chaînage, SDD séquentielles
Structures de données avancées : Fichiers uni-dimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
ETNA – 1ème année Guillaume Belmas –
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : B arbres
Structures de données avancées : Variantes des B arbres
1 UMLV  FICHIERS Mémoire de masse découpée en blocs Fichier :liste chaînée de blocs, ou arbre de blocs (répertoires - fichiers)‏ Bloc d’éléments Bloc.
Structures de données avancées : Principales structures de fichiers
Introduction au langage C Structures de données
Structures de données avancées : Introduction D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Principales structures de données
Chaînage et LSC : motivation et principe  Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.
Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.
Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, …  Etude de cas : réalisation d’un buffer clavier.
CSI2510 Structures des Données et Algorithmes
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Informatique 2A Langage C 5ème séance. Déroulement de la séance 5 1 ère partie Étude des chaînes de caractères 2 ème partie Les structures 3.
II. Chaînage, SDD séquentielles
Transcription de la présentation:

 Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier II. Chaînage, SDD séquentielles 1

Problématique  Gestion des références des livres d’une bibliothèque  Séquence de référence Rangement par ordre alphabétique Parcours itératif séquentiel (boucle)  Possibilité d’ajouter et supprimer des références  Problème de l’approche « statique » (tableau)  Mémoire : pré allocation ! Beaucoup d’espace inoccupé en fin de tableau Taille de liste limitée par la taille du tableau  Traitements : par ex. insérer une nouvelle référence  Déplacer toutes les références > position d’insertion i.e. action locale à impact global SéquentielChaînageMotivation 2

La solution chaînée  Principe du chaînage  Découpler ordre des références et ordre des index  Associer à chaque réf. l’index de la réf. suivante  Avantages  Toujours adapté à un traitement séquentiel  Performance spatiale N’est allouée que la mémoire nécessaire à l’instant t  Performance temporelle Insertion et suppression : impact seulement local SéquentielChaînagePrincipe 3

Liste simplement chaînée (LSC)  Suite d’éléments  Eléments non indexés  Attention : plus d’accès direct  Eléments chaînés  Accès depuis l’élément précédent : son prédécesseur  Le premier élément : la tête de liste : sans prédécesseur (A)  Le dernier élément : la queue de liste : sans successeur (D)  Pour accéder à un élément  Partir de la tête de liste A (qui représente la liste)  Parcourir tous les successeurs jusqu’à l’élément à atteindre SéquentielLSCDéfinition ABD 4

Représentation V1: statique  Deux tableaux de même taille  1. Tableau e d’éléments non ordonnés  2. Tableau s des index des successeurs  D’où  succ(e[i]) = e[s[i]]  Conséquence  Insertion et suppression : impact seulement local SéquentielLSCStatique 5

Etat initial de la liste SéquentielLSCStatiqueExemple 01 A 2 D 3 B 45 \ ABD 6 e s

Après insertion de C entre B et D SéquentielLSCStatiqueExemple 0 C 1 A 2 D 3 B 45 \ ABDC 7 e s

Problème de la V1 et évolution  La dynamique n’est qu’émulée : pré-allocation  > Toujours beaucoup d’espace inoccupé  < Longueur de liste limitée à la taille des tableaux  Transposons en mémoire physique  l’index est l’adresse mémoire  On utilise la notion de pointeur Variable contenant une adresse mémoire  On se dote d’un nouvel opérateur Accès au contenu stocké à une adresse donnée : contenu(s)  Notation algorithmique Accès au champ c de la structure stockée à l’adresse s contenu(s).c s’écrit s → c SéquentielLSCStatiqueEvolution 8

Représentation V2 : dynamique  Structure maillon comportant deux champs  1. un élément e  2. l’adresse mémoire s du maillon suivant  D’où  succ(e) = contenu(s)  Conséquences  Logique de parcours inchangée par rapport à v1  + Pas de réservation mémoire inutile  + Pas de limite de taille (sauf mémoire physique) SéquentielLSCDynamique 9

Définition d’un maillon de liste typedef struct maillon { T info; struct maillon *succ; } maillon; typedef maillon *liste; En langage algorithmiqueExemple de traduction en C SéquentielLSCDynamiqueSpécification 10