T. A. D. pile. Chapitre 7 (suite) Listes particulières. T. A. D. file. représentation chaînée de la file algorithmique. Files



Documents pareils
Les structures de données. Rajae El Ouazzani

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct...

Génie Logiciel avec Ada. 4 février 2013

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Sommaire. Structure. Liste simplement chaînée ALGORITHME ET STRUCTURES DE DONNÉES II

Algorithmique, Structures de données et langage C

Architecture des Systèmes d Information Architecture des Systèmes d Information

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Les arbres binaires de recherche

Algorithmique et structures de données I

Bases de programmation. Cours 5. Structurer les données

Correction TD Algorithmique 5.3 Pile Liste 5.3 Pile

Cours d initiation à la programmation en C++ Johann Cuenin

4. Les structures de données statiques

Conventions d écriture et outils de mise au point

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com

Initiation. àl algorithmique et à la programmation. en C

Cours A7 : Temps Réel

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Algorithmes récursifs

Cours d Algorithmique et de Langage C v 3.0

Structure fonctionnelle d un SGBD

Travaux Dirigés n 1 : chaînes de caractères

Cours de Programmation Impérative: Zones de mémoires et pointeurs

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Compression de Données - Algorithme de Huffman Document de Conception

ARBRES BINAIRES DE RECHERCHE

Introduction à MATLAB R

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Chapitre 5 : Flot maximal dans un graphe

Description des structures de donnees

Réalisabilité et extraction de programmes

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

Adama MBODJI MBODJ.SYSTEM

INITIATION A L ALGORITHMIQUE INF 102

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Algorithmique et Programmation, IMA

Créer un publipostage avec Word 2007.

Le Langage SQL version Oracle

Les différents types de relation entre les tables

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Evaluation et mise en place d un serveur de messages pour Chamilo 2.0

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Introduction à la programmation concurrente

SUPPORT DE COURS. Langage C

Traduction des Langages : Le Compilateur Micro Java

Programmation Objet - Cours II

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Cours Base de données relationnelles. M. Boughanem, IUP STRI

INF601 : Algorithme et Structure de données

TP Contraintes - Triggers

Excel Avancé. Plan. Outils de résolution. Interactivité dans les feuilles. Outils de simulation. La valeur cible Le solveur

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

STAGE IREM 0- Premiers pas en Python

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Préparez la rentrée!

PHP 4 PARTIE : BASE DE DONNEES

Théorie des Langages

Architecture des ordinateurs

L exclusion mutuelle distribuée

Algorithmique et Programmation

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

Projet CORBA : gestion de supermarchés

#include <stdio.h> #include <stdlib.h> struct cell { int clef; struct cell *suiv; };

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Rappels sur les suites - Algorithme

AutoCAD Petit exercice sous

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Manuel de l administrateur

Arbres binaires de recherche

Le langage C. Séance n 4

EXCEL TUTORIEL 2012/2013

Chapitre 1 : La gestion dynamique de la mémoire

Décision Markovienne appliquée à un jeu de stop ou encore : Pickomino (Heckmeck Am Bratwurmeck)

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

Créer un site Web : mode d emploi Sous SPIP, avec le squelette «établissement» de l académie de Versailles

Modifications des modèles de factures

Comment l utiliser? Manuel consommateur


Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin Algorithmique 1

Cours d Informatique

Université de Strasbourg UFR de Mathématique et d'informatique. L2 Informatique Semestres S3 et S4. Structures de Données et Algorithmes 1 et 2

CORRECTION EXERCICES ALGORITHME 1

Organigramme / Algorigramme Dossier élève 1 SI

Algorithmes de recherche

INTERCONNEXION ENT / BCDI / E - SIDOC

UE 8 Systèmes d information de gestion Le programme

Transcription:

Chapitre 7 (suite) Listes particulières Pile : liste particulière T. A. D. pile insertion et suppression au sommet de la pile extraction Files queue Listes doublement chaînées insertion file : liste particulière insertion en : enfiler extraction en : défiler extraction T. A. D. file queue insertion représentation chaînée de la file algorithmique Déition de type : Donner le nom element à Structure( el : T, suiv : pelement) Donner le nom pelement à Ref(element)

représentation chaînée de la file en langage C Déition de la structure : typedef struct Element *pelement; typedef struct Element { T el; pelement suiv;} element; file représentation de la file algorithmique Donner le nom file à Ref(element) Donner le nom pfile à Ref(file) a 1 a i représentation chaînée de la file en langage C Créer_file file : pointeur sur élément typedef pelement file ; déition d un pointeur sur file : typedef liste *pfile ; file a 1 a i fonction créer_ file ( ) : p : file données : vide p NULL pointeur sur file

file_vide enfiler x fonction file_vide( p : file) : booléen données : vide retourner (p = NULL) a 1 a i a 1 a i a n x / enfiler fonction enfiler ( px : pelement, ptrl : pfile) données : p : file si (p = NULL) alors deref(px).suiv p p px tantque (deref(p).suiv NULL) faire tq deref(p).suiv px deref(px).suiv NULL si a 1 a 1 défiler a 2 a i a 2 a i

défiler fonction defiler (ptrl : pfile) : pelement données : px : pelement, p : file si liste_vide( deref(ptrl)) alors px NULL px p deref(ptrl) deref(p).suiv si retourner (px ) représentation d une liste doublement chaînée queue / / représentation d une liste doublement chaînée en algorithmique représentation d une liste doublement chaînée en langage C a n / / a n / / Donner le nom element à : Structure(el : T, suiv : pelement, prec: pelement) Donner le nom pelement à : Ref(element) Déition de la structure : typedef struct Element *pelement; typedef struct Element { T el; pelement suiv; pelement prec; } element;

représentation de la liste doublement chaînée représentation de la liste liste : Référence à la de liste p : liste ptrl : pliste p <- deref(ptrl) Donner le nom liste à Ref(element) Donner le nom pliste à Ref(liste) deref(p).el deref(p).suiv deref(p).prec accés à l élément référence au suivant référence au précédent liste liste / / Référence à liste Référence à liste représentation en langage C liste : pointeur sur élément Créer_liste typedef pelement liste ; déition d un pointeur sur liste: liste typedef liste *pliste ; / fonction créer_ liste ( ) : liste p NULL pointeur sur liste

Insérer en de liste fonction inserer_en_ ( px : pelement, ptrl : pliste) deref(px).suiv p deref(px).prec NULL deref(p).prec px deref(ptrl) px insérer en de liste fonction inserer_ en_ ( px : pelement, ptrl : pliste) si ( deref(ptrl) = NULL) alors inserer_en_tete (px, ptrl ) tantque (deref(p).suiv NULL) faire tq deref(p).suiv px deref(px).suiv NULL deref(px).prec p si Extraire en de liste fonction extraire_en_(ptrl : pliste) : pelement données : px : pelement, p, q : liste si liste_vide( deref(ptrl)) alors px NULL px p q deref(p).suiv deref(q).prec NULL deref(ptrl) q si retourner (px ) extraire en de liste fonction extraire_en_ (ptrl : pliste) : pelement données : px : pelement, p : liste si liste_vide( deref(ptrl)) alors px = NULL si (deref(p).suiv = NULL) alors px p deref(ptrl) NULL tant que (deref(deref(p).suiv).suiv NULL) faire tq px deref(p).suiv deref(p).suiv NULL si si retourner (px )

Parcours itératif premier au dernier fonction parcourir_it(ptrl : pliste) si (liste_vide( deref(ptrl) )) alors ecrire << liste vide >> tantque ( p NULL) faire ecrire(deref(p).el) tq si Parcours itératif du dernier au premier fonction parcourir_it(ptrl : pliste) si (liste_vide( deref(ptrl) )) alors ecrire << liste vide >> tant que (deref(p).suiv NULL) faire tq tantque ( deref(p ).prec NULL) faire ecrire(deref(p).el) p deref(p).prec tq si