IPA – Catherine Faron Zucke et Anne Marie Deryr. suite ordonnée d'éléments de taille variable ArrayList liste; liste = new ArrayList (); Ne peuvent contenir.

Slides:



Advertisements
Présentations similaires
Cours n° 7 Standard Template Library II.
Advertisements

Masters IIGLI et IGLII – Programmation générique et conception objet – – Claude Montacié 1 Cours n° 5 Structures de données abstraites.
Piles, files et listes: notions théoriques
Algorithmes et structures de données avancées Cours 1+2+3
Structures de données et complexité
Structures de données et complexité LIFO – FILO – FIFO – etc…
Au programme du jour …. Un peu plus de structures de données
Introduction à l’Algorithmique
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
1 UMLV 1. Introduction 2. Hachage ouvert 3. Hachage fermé 4. Implémentation des fonctions Méthodes de hachage.
Approfondissement du langage
Algorithme et structure de données
JAV - TD 6 Structures de données JAVA
Chapitre IV. Structures linéaires (piles, files, listes chaînées)
BlueJ_XI 1 Java, les objets : tout de suite ! Gestion des erreurs : les exceptions Notes de cours associées au chapitre 11 tutorial BlueJ
Classes locales classes définies à l'intérieur d'un bloc de code,
ALGORITHMES RECURSIFS
Structures collectives en Java
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
UE NFA006 STRUCTURES DE DONNEES
Structures de données linéaires
Récursivité.
Cours d’Algorithmique
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Les structures de données arborescentes
II. Chaînage, SDD séquentielles
Leçon 6 : Structures de données dynamiques IUP 2 Génie Informatique Méthode et Outils pour la Programmation Françoise Greffier.
POO-L3 H. Fauconnier1 Tableau et héritage Y[] yA=new Y[3]; X[] xA=yA; //ok xA[0]=new Y(); xA[1]=new X(); //non xA[1]=new Z(); //non Object XX[]int[] YZY[]Z[]
Chapitre VII Généricité. POO-L3 H. Fauconnier2 Chapitre VII 1. Principes généraux 2. Types génériques imbriqués 3. Méthodes génériques 4. Types paramètres.
Chapitre 21 Collections Partie I Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est.
1 Objectifs de ce cours (I21) Cours JAVA (I21) -Licence 1 Semestre 2 / Y.Laborde Résumé du cours précédent.
Structures de données IFT-2000
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
IFT-10541A : Hiver 2003 Semaine 5 : Piles et files.
Structures de données IFT-2000
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.
Rappels Java.
Présentation Structures de Données et TDA
Contrôle de types Les types en programmation Expressions de types Un contrôleur de types Equivalence de types Conversions de types Généricité.


Design Pattern Memento. Principe : Enregistrer les changements d'états d'un objet Objectif : Pouvoir restituer les états précédents d'un objet.
Vector, Iterator, LinkedList
Indexation et Recherche d'Information
Piles Premier arrivé, dernier servi: LIFO (Last In, First Out) Liste à usage restreint: Enlève et insère un élément seulement à un bout de la liste. Notation:
Cours du 22 novembre généricité. Chapitre VII Généricité.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Java, les objets : tout de suite ! Rassembler, grouper les objets
IFT-2000: Structures de données Piles et files Dominic Genest, 2009.
Structures de données IFT-10541
Algorithmique et structures de données en C
Structures de données IFT-2000
Le langage C Structures de données
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
Ch. PAUL - Piles et Files à l'aide de listes chainées
LES PILES ET FILES.
Cours 9 Exceptions (fin) Généricité. POO-L3 H. Fauconnier2 Chaînage d'exceptions  Une exception peut être causée par une autre.  il peut être utile.
Cours 7 Classes locales Clonage Divers: tableaux.
Méthodes de tri.
Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.
ETNA – 1ème année Guillaume Belmas –
1 1 Huitième journée Quelques algorithmes. 2 Définition Description des tâches pour que celles-ci soient aisément programmables Différent d’une méthode.
La Récursivité.
Programmation Orienté Objet en C++
1 Listes des méthodes de la classe string, et exemples.
Chapitre 21 Collections partie III Set Une collection qui contient des éléments uniques. Deux implémentation :  HashSet : stock les éléments.
Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.
Types abstraits de données (TAD)
CSI25101 Les structures de données de base (structures de données « concrètes ») trailer header Tableaux Listes chaînées l.
Transcription de la présentation:

IPA – Catherine Faron Zucke et Anne Marie Deryr

suite ordonnée d'éléments de taille variable ArrayList liste; liste = new ArrayList (); Ne peuvent contenir que des objets premier élément : liste.get(0) dernier élément : liste.get(liste.size()-1) i ième élément : liste.get(i-1) IPA – Catherine Faron Zucker 2

ajout d'un élt: liste.add(new Integer(3)); modif d'un élt: liste.set(i,new Integer(4)); suppression d'un élt: liste.remove(i); mêmes algos que sur les tableaux avec taille variable IPA – Catherine Faron Zucker 3

Ordonnancements particuliers des éléments d'une collection - implémentation à partir dun tableau ou d'une liste Pile : LIFO Last In First Out empiler/dépiler des éléments Peut être implémentée par un tableau ou une liste File : FIFO First In Fist Out enfiler /défiler des éléments implémentation par liste plus simple IPA – Catherine Faron Zucker 4

Soit la Pile contenant les valeurs : 1, 2, 5 Dessinez moi une Pile Ajoutons lélément 12 Dépilons un élément Soit la File contenant les valeurs : 1, 2, 5 Dessinez moi une File Ajoutons lélémént 12 Sortons un élément de la file

Algorithmes d'évaluation d'expressions mathématiques Algorithmes pour mémoriser des données en attente de traitement. IPA – Catherine Faron Zucker 6

public class Pile{ private Object[] table; private int hauteur; public void empiler(Object o) {table[hauteur]=o; hauteur++;} public Object depiler() {hauteur--; return table[hauteur];} public Object sommet(){} public boolean vide(){} public boolean pleine(){} } IPA – Catherine Faron Zucker 7

public class File{ private ArrayList liste; private int longueur; public void enfiler(Object o) {liste.add(o); longueur++;} public Object defiler() {longueur--; return liste.remove(0);} public Object tete(){} public Object queue(){} public boolean vide(){} } IPA – Catherine Faron Zucker 8

Stratégie de résolution d'un problème Approche incrémentale itérer jusqu'à obtention du résultat souhaité Approche récursive diviser pour régner: diviser en sous-problèmes régner sur les sous-problèmes combiner les solutions des sous-problèmes IPA – Catherine Faron Zucker 9

diviser: pgcd(a,b) = pgcd(b, a mod b) semblable au problème initial de taille moindre régner: pgcd(a,0) = a combiner: pgcd(a,b)= pgcd(b,a mod b)=... IPA – Catherine Faron Zucker 10

Si b=0 Alors retourner a //terminaison Sinon retourner pgcd(a, a mod b) finSi IPA – Catherine Faron Zucker 11

n <- a; m <- b; TantQue m != 0 Faire r <- n mod m n <- m m <- r FinTantQue retourner n IPA – Catherine Faron Zucker 12

Relation de récurence fac(n) = n * fac(n-1), n>0 fac(0) = 1 Algorithme Si n = 0 Alors retourner 1 Sinon retourner n * fac(n-1) FinSi IPA – Catherine Faron Zucker 13

Complexité opération élémentaire : * nbre de fois où elle est effectuée fonction de n: M(n) relation de récurence: M(n) = 1 + M(n-1) pour n>0 et M(0) = 0 en développant, on a M(n) = M(n-i) + i pour tout i pour i=n, on obtient M(n) = M(O) + n = n cf. module Maths discrètes IPA – Catherine Faron Zucker 14

Ajout dun élément en position i Suppresssion dun élément en position i Recherche dun élément de valeur z Calcul de la somme des éléments IPA – Catherine Faron Zucker 15

Maps et Sets listes chaînées : cf. td simplement, doublement arbres arbres binaires arbres binaires de recherche graphes IPA – Catherine Faron Zucker 16