Corrigé E.D. Algorithmes et Structures de Données n 2. Thème : Les Listes



Documents pareils
Structures dynamiques Listes chaînées

où «p» représente le nombre de paramètres estimés de la loi de distribution testée sous H 0.

CIRCULAIRE N 02/04. Elle précise les méthodes de valorisation des titres de capital et des titres de créances contenus dans les actifs de l OPCVM.

TRAVAUX DIRIGÉS DE M 6

FINANCE Mathématiques Financières

Permis de feu. Travail par point chaud. r Soudage r Brasage. r Découpage r Tronçonnage. r Meulage r Autres. r Poste à souder r Tronçonneuse

SOMMAIRE. ATRACOM-Centrafrique Manuel de Procédures Administratives Financiers et Comptables

M a n u e l J o s é T r i n d a d e C o e l h o C o r r e i a M a r q u e s

( Codes : voir verso du feuillet 3 ) SPECIMEN

Programmer en JAVA. par Tama

Programme Compte bancaire (code)

Chapitre 6: Moment cinétique

CHAPITRE VI : Le potentiel électrique

Corrigé des exercices sur les références

Créer un observatoire de la concurrence. Créer un observatoire de la concurrence. Démarche. ntérêt. C aractéristiques.

Moments partiels crédibilistes et application à l évaluation de la performance de fonds spéculatifs

CARACTERISTIQUES DES SECTIONS PLANES

Equations aux dérivées partielles

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

( Mecanique des fluides )

Informations Techniques A7 A141. Roulements à Billes à Gorge Profonde. Roulements à Billes à Contact Oblique. Roulements à Billes Auto-Aligneurs

Algorithmique, Structures de données et langage C

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

Serveur vidéo IP. caméras analogiques PC serveur. PC Client 1. Serveur de stockage ( optionnel )

M F. F O Unité: [m. N] La norme du moment de force peut se calculer en introduit le bras de levier d

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Utilisation d objets : String et ArrayList

tudes & documents ÉCONOMIE ET ÉVALUATION L assurance habitation dans les départements d Outre Mer n 24 Juin 2010

11.5 Le moment de force τ (tau) : Production d une accélération angulaire

TD/TP PAC - Programmation n 3

PHYSIQUE DES SEMI-CONDUCTEURS

Roulements à rotule sur deux rangées de rouleaux en deux parties

SYSTÈME D ALARME ET PRODUITS TRANSMETTEURS

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

Validation CFD axisymétrique de modèle zonal des écoulements gazeux de chambre de combustion de moteur Diesel

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

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

1. Langage de programmation Java

A la mémoire de ma grande mère A mes parents A Mon épouse A Mes tantes et sœurs A Mes beaux parents A Toute ma famille A Mes amis A Rihab, Lina et

Mémoire de DEA. Modélisation opérationnelle des domaines de référence

Java Licence Professionnelle CISII,

Po ur d o nne r un é lan à vo tre re traite

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

F. Barthélemy. 17 mai 2005

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

Conventions d écriture et outils de mise au point

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

Cadeaux d affaires, cadeaux d entreprises, objets publicitaires - services@france-cadeaux.fr

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

INITIATION AU LANGAGE JAVA

CONSTANTES DIELECTRIQUES

INF 321 : mémento de la syntaxe de Java

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

Roulements à billes et à rouleaux

Guide de l acheteur de logiciel de Paie


Mécanique du point : forces Newtoniennes (PCSI)

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Évaluation de l'incertitude de mesure par une méthode statistique ("méthode de type A") Voir cours d'instrumentation

COMPARAISONDESLANGAGESC, C++, JAVA ET

Corrigés des premiers exercices sur les classes

ACTIVITÉ DE PROGRAMMATION

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Programmation Objet Java Correction

RESOLUTION PAR LA METHODE DE NORTON, MILLMAN ET KENNELY

DEMANDE D OUVERTURE D UN COMPTE EPARGNE REMUNERE (Réservé aux particuliers) Exemplaire Client (à conserver)

D'CLICS CONSO. ayez les bons réflexes! Logement, téléphonie, mobilité, budget : soyez acteur de votre consommation!

Premiers Pas en Programmation Objet : les Classes et les Objets

MODE D EMPLOI ENFANT MINEUR MONFINANCIER LIBERTE VIE

Quelques éléments d écologie utiles au forestier

DiaDent Group International

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Remote Method Invocation en Java (RMI)

TD3: tableaux avancées, première classe et chaînes

Un moulin à scie!?! Ben voyons dont!!!

Introduction : les processus. Introduction : les threads. Plan

Package Java.util Classe générique

Les structures de données. Rajae El Ouazzani

Les déterminants de la diffusion d Internet en Afrique

Système PBX IP hybride

Manuel d'utilisation de Wapam

Remote Method Invocation Les classes implémentant Serializable

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

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Développement Logiciel

Exercices sur les interfaces

Synchro et Threads Java TM

Chapitre 1.5a Le champ électrique généré par plusieurs particules

PROGRAMMATION PAR OBJETS

TP Programmation Java / JDBC / Oracle

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Préface. Le programme d électricité du S2 se compose de deux grandes parties :

Le MSMQ. Version 1.0. Pierre-Franck Chauvet

ETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

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

Exigences internationales harmonisées pour la certification d un lot

Remote Method Invocation (RMI)

Transcription:

Coigé E.D. Agoithmes et Stuctues de Données n 2 Thème : Les Listes Execice II.1 Cacu en notation poonaise postfixée 1. Un agoithme est e suivant : si n est a ongueu de expession épéte n fois ie a chaîne suivante c ; si c est un opéateu op aos depie(entie i1) ; eeu si pie vide depie(entie i2) ; eeu si pie vide cacue = i1 op i2 ; empie() ; sinon si c est un entie aos empie(c) ; sinon eeu ; finsi ; finsi ; fin epete ; si pie non vide aos eeu ; finsi ; pogamme Java impot java.io.*; pubic cass Postfixe { static BuffeedReade in = new InputSteamReade(System.in)); pubic static void main (Sting[] ags) { Pie P=new Pie (); Sting s; ty { fo (int i=0; i< ags.ength; i++) { s = ags[i]; if (s.equas("+")) { P.empie(i1+i2); ese if (s.equas("-")){ P.empie(i2-i1); ese if (ags[i].equas("x")) { BuffeedReade(new 1

P.empie(i1*i2); ese if (s.equas("/")){ P.empie(i2/i1); ese P.empie (Intege.paseInt(s)); if (P.estVide()) System.out.pint("Expession ma ecite"); ese System.out.pint("Resutat du cacu : "+ P.sommet()); catch (Exception e) { System.out.pint("Pobeme "+ e); Execice II.2 Invesion d'une iste chaînée Question 1 On veut écie une nouvee méthode envese qui invese a iste couante. - pointea au fu et à mesue su a patie non encoe invesée de a iste. Nous utiisons 2 pointeus suppémentaies : qui pointe su a tête de a sous-iste déjà invesée de a iste. Initiaisé à nu. p est simpement un pointeu auxiiaie qui pemet d effectue e tansfet d un éément de a tête de ves a tête de. Liste envese Liste =this ; Liste = nu; Liste p ; début tant que /= nu faie p = ; -- on sauvegade dans p a tête de a iste =.suivant; -- on avance (on enève a tête de ) -- on insèe p en tête de p.suivant = ; = p; fait; -- ici ==nu et contient e ésutat de invesion. etoune ; fin Impantation en Java, en utiisant a casse Liste et es méthodes vues en cous : Liste envese(liste ){ 2

Liste 1= ; Liste = nu; Liste p ; whie ( 1!= nu){ p = 1;//on sauvegade dans p a tête de a iste 1 = 1.queue();// on avance 1 (on enève a tête de 1) p = new Liste(p.tete(),); // on insèe p en tête de = p; //ici 1==nu et contient e ésutat de invesion. etun (); Su exempe, au début : Pemie passage dans a bouce tant que : Deuxième passage dans a bouce tant que : Etc à a fin : 3

Question 2 Cacue a compexité de cette pocédue. Si n est e nombe d ééments (ou ongueu) de a iste, aos a bouce s exécute n fois. Un passage pa a bouce coespond à 4 opéations. Donc a compexité de cette pocédue est O(n). Execice II.3 Invesion écusive d'une iste chaînée Iustation de idée de a écusion : Une iste L non vide peut toujous ête considéée comme a juxtaposition de son pemie éément (ou de son en_tête), que nous notons x, avec une aute iste L (qui est en fait L pivée de x). x Reste de L (ou L ) L Si on sait invese L aos on sait invese L puisque : Invese(L ) x Invese(L) Question 1 Liste inveserec (Liste ){ //invesion ecusive Liste 1 = ; if ( 1.queue() == nu) etun 1 ; int x = 1.tete(); 1=1.queue(); // est aos tonquée de son pemie eement 1=inveseRec(1) ; //appe écusif 1.inseeenqueue (x); etun (1); Question 2 Cacue a compexité de cette pocédue. Exempe d exécution : 4

Si n est e nombe d ééments de a iste, aos a pocédue invesion est invoquée n fois. aêt Invesion{a,b,c Invesion{b,c Invesion{c Invesion{ a b c A chaque fois, i faut au pie n opéations pou effectue insetion en queue. Cette pocédue est donc en O(n 2 ). A compae avec a pocédue d invesion de a question pécédente. Execice II.4 Invesion d'une iste contiguë Question 1 Défini un pincipe efficace d invesion d une iste epésentée pa un tabeau. On peut pemute es contenus des ééments extêmes, pa paies. On pemute 1 et n, puis 2 et (n-1), puis 3 et (n-2),. Si n est pai, tous es ééments sont pemutés 2 à deux et cea fait n/2 pemutations. Si n est impai, éément centa ne change pas et cea fait (n-1)/2 pemutations. Question 2 Écie a méthode invese et cacue sa compexité. void invesetab(int tab[]){ int n, miieu, tamp ; n=tab.ength - 1; miieu = n / 2; // division entièe fo ( int i=0;i <=miieu;i++) { //pemutation des ééments d indice i et n-i tamp = tab[n-i]; tab [n-i]= tab[i]; tab[i ]=tamp; De ode de n/2 passages dans a bouce pou (3 opéations éémentaies à chaque fois) donc a compexité est O(n). 5