Types et Structures de Données LI213

Dimension: px
Commencer à balayer dès la page:

Download "Types et Structures de Données LI213"

Transcription

1 Types et Structures de Données LI213 Interrogation du 3 mars 2013 Aucun document n est autorisé. 1 Listes, piles et files Pour l exercice suivant, on a besoin de définir une liste chaînée de personnes. On définit pour cela un élément d une liste : typedef struct _element { Personne* p; struct _element* suivant; } Element; Une liste est alors définie par son premier et son dernier élément : typedef struct { Element* premier; Element* dernier; } Liste; On vous fournit les fonctions suivantes : Liste* creerliste(); void detruireliste(liste* L); int estlistevide(const Liste* L); void ajouterdebut(liste* L, Personne* p); void ajouterfin(liste* L, Personne* p); Personne* retirerdebut(liste* L); Dans quel ordre sont traités les éléments d une pile (par rapport à leur ordre d arrivée)? Parmi les fonctions précédentes, lesquelles faut-il utiliser pour empiler et depiler? Dans quel ordre sont traités les éléments d une file (par rapport à leur ordre d arrivée)? Parmi les fonctions précédentes, lesquelles utiliser pour définir les fonctions enfiler et defiler? Interrogation TSD 3 mars 2013 page 1 sur 5

2 2 Réseau social Dans le but de créer un réseau social, on définit une personne par son nom et une liste d amis : typedef struct _personne { char* nom; int marque; Liste* amis; } Personne; On définit ainsi un graphe : une personne est un sommet, et un lien d amitié est une arête. Le champ marque sera utilisé plus tard. Considérons le réseau constitué de : Alice, dont les amis sont B, C, E et F ; Bob, dont les amis sont A, C et D ; Charlie, dont les amis sont A et B ; Daniel, dont les amis sont B et E ; Eva, dont les amis sont A et D ; Florent, dont le seul ami est A. Dessiner ci-contre le graphe de l exemple précédent. Quelle structure de données de l exercice précédent faut-il utiliser pour effectuer un parcours en largeur? Dans quel ordre seront parcourues les personnes de l exemple précédent en commençant depuis Florent? Question 3 Quelle structure faut-il utiliser pour effectuer un parcours en profondeur? Dans quel ordre seront parcourues les personnes de l exemple précédent en commençant depuis Florent? Question 4 On souhaite calculer la distance qui sépare une personne donnée de chaque autre personne. Prenons par exemple la distance à Florent (F) : il est à une distance 0 de lui-même, ses amis sont à une distance 1 de F, les amis de ses amis à une distance 2, etc. Les personnes doivent être parcourues en commençant par les plus proches (F lui-même, puis ses amis) et jusqu aux plus éloignées (les amis des amis des amis... de F). Comment s appelle un tel parcours? Interrogation TSD 3 mars 2013 page 2 sur 5

3 Question 5 On utilisera le champ marque, initialisé à 1, pour enregistrer cette distance. Pour chaque personne rencontrée pendant le parcours que vous venez d indiquer : si cette personne est déjà marquée, on ne fait rien ; sinon, cette personne est à une distance de +1 par rapport à la personne qui l a rencontrée. Écrire la fonction calculerdistance (on pourra utiliser les fonctions de l exercice précédent). void calculerdistance(personne* p); 3 Arbre quaternaire de recherche Vous avez étudié en cours les Arbres Binaires de Recherche (ABR), qui permettent de stocker des nombres en les ordonnant. Chaque nœud d un ABR contient une valeur x, un sous-arbre gauche (avec des valeurs x x) et un sous-arbre droit (avec des valeurs x > x). De manière semblable, un Arbre Quaternaire de Recherche (AQR) permet de stocker des coordonnées (par exemple GPS) de la forme (x, y). Chaque nœud d un AQR contient les valeurs x et y, ainsi que 4 sous-arbres : SO (Sud-Ouest), pour les valeurs x x et y y ; NO (Nord-Ouest), pour les valeurs x x et y > y ; SE (Sud-Est), pour les valeurs x > x et y y ; NE (Nord-Est), pour les valeurs x > x et y > y. Interrogation TSD 3 mars 2013 page 3 sur 5

4 On définit ainsi la structure AQR : typedef struct _aqr { float x, y; struct _aqr *no, *ne, *so, *se; } AQR; Écrire une fonction detruireaqr qui libère toute la mémoire occupée par un AQR. void detruireaqr(aqr* a); Écrire une fonction insereraqr qui insère un nouveau point (x, y) dans un AQR. AQR* insereraqr(aqr* a, float x, float y); Interrogation TSD 3 mars 2013 page 4 sur 5

5 Question 3 Quelle est, en fonction de la hauteur h de l arbre, la complexité de cette fonction? Lorsque l arbre est équilibré, quel est l ordre de grandeur de h en fonction du nombre n d éléments qu il contient? Question 4 On souhaite écrire une fonction afficherzone qui affiche les coordonnées de tous les points (x, y) tels que x min x x max et y min y y max. À quelle(s) condition(s) sur x, x min et/ou x max peut-on affirmer qu il n y a aucun point à afficher dans les parties Ouest (NO, SO)? Et dans les parties Est? Même question pour les parties Sud et Nord, en fonction de y, y min et/ou y max cette fois. Question 5 En vous inspirant de ces réponses, proposez une fonction récursive afficherzone qui ne parcourt pas tout l arbre lorsque ce n est pas utile. void afficherzone(aqr* a, float xmin, float xmax, float ymin, float ymax); Interrogation TSD 3 mars 2013 page 5 sur 5

TP 8 : Arbres binaires de recherche

TP 8 : Arbres binaires de recherche TP 8 : Arbres binaires de recherche Semaine du 17 Mars 2008 Exercice 1 Dénir une structure struct noeud_s permettant de coder un n ud d'un arbre binaire contenant une valeur entière. Ajouter des typedef

Plus en détail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

C12. Les structures arborescentes. Août 2006

C12. Les structures arborescentes. Août 2006 Les structures arborescentes Août 2006 Objectifs du C12 Connaître le principe de la structure d arbre binaire Connaître les détails d implémentation de la structure d arbre binaire de recherche Les structures

Plus en détail

Série d exercices N 9 Arbres

Série d exercices N 9 Arbres Série d exercices N 9 Arbres Exercice 1 a) Ecrire une fonction ARBIN creerarbreentiers() qui permet de créer et de renvoyer l arbre d entiers suivant : b) Ecrire une fonction int feuilles(arbin a) qui

Plus en détail

Les arbres binaires de recherche

Les arbres binaires de recherche Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s

Plus en détail

Arbres Binaires de Recherche : Introduction

Arbres Binaires de Recherche : Introduction Arbres Binaires de Recherche : Introduction I. Guessarian cours ISN 11 janvier 2012 LIAFA, CNRS and University Paris Diderot 1/13 Arbre Binaire de Recherche Un Arbre Binaire de Recherche (ABR) est un arbre

Plus en détail

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr)

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr) Partie 3 Gilles Lebrun (gilles.lebrun@unicaen.fr) Les arbres binaires Définition : C est une structure arborescente ou hiérarchique ou récursive Chaque élément (nœud) constituant la structure de l arbre

Plus en détail

Arbres Binaire. PSI DAKHLA Prof Youssef El marzak. 1 Prof Youssef Elmarzak

Arbres Binaire. PSI DAKHLA Prof Youssef El marzak. 1 Prof Youssef Elmarzak Arbres Binaire PSI DAKHLA Prof Youssef El marzak 1 Prof Youssef Elmarzak 1.introduction: Les arbre sont très utilisées en informatique, d une part parce que les informations sont souvent hiérarchisées,

Plus en détail

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014 Langage C/C++ TD 3-4 : Création dynamique d objets Hubert Godfroy 7 novembre 014 1 Tableaux Question 1 : Écrire une fonction prenant un paramètre n et créant un tableau de taille n (contenant des entiers).

Plus en détail

Structures de données, IMA S6

Structures de données, IMA S6 Structures de données, IMA S6 Arbres Binaires d après un cours de N. Devésa, Polytech Lille. Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech

Plus en détail

Algorithmique et Programmation Impérative 2 Les arbres binaires de recherche

Algorithmique et Programmation Impérative 2 Les arbres binaires de recherche Algorithmique et Programmation Impérative 2 Les arbres binaires de recherche N.E. Oussous oussous@lifl.fr FIL USTL SDC - Licence p.1/16 Arbres binaires de recherche Un arbre binaire T est un arbre binaire

Plus en détail

Arbres binaires de recherche (ABR) Binary Search Trees (BST)

Arbres binaires de recherche (ABR) Binary Search Trees (BST) LSVIII-BIM Algorithmie, 2015 Arbres binaires de recherche (ABR) Binary Search Trees (BST) I. Arbres binaires 1. Structure 2. Parcours II. Arbres binaires de recherche 1. Définition 2. Opérations sur les

Plus en détail

Les arbres Florent Hivert

Les arbres Florent Hivert 1 de 1 Algorithmique Les arbres Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 1 Algorithmes et structures de données La plupart des bons algorithmes fonctionnent

Plus en détail

Organisation des données et structures de stockage

Organisation des données et structures de stockage ING2 - ING3 Nvx 2009-2010 Organisation des données et structures de stockage IV. Structures linéaires : les files et les piles. Les files et les piles sont des listes d'éléments organisées selon l'odre

Plus en détail

pedigree d'un cheval Zoe ; son père est Tonnerre et sa mère Belle ; mère de Belle est Rose et père de Belle est Eclair jean jean marc paul luc

pedigree d'un cheval Zoe ; son père est Tonnerre et sa mère Belle ; mère de Belle est Rose et père de Belle est Eclair jean jean marc paul luc Chap. 3 Les arbres binaires Un arbre est un ensemble de nœuds, organisés de façon hiérarchique, à partir d'un nœud distingué, appelé racine. La structure d'arbre est l'une des plus importantes et des plus

Plus en détail

ALGORITHMIQUE II. Récurrence et Récursivité. SMI AlgoII

ALGORITHMIQUE II. Récurrence et Récursivité. SMI AlgoII ALGORITHMIQUE II Récurrence et Récursivité Récurrence Suite récurrente: la déition d une suite est la donnée d un terme général déi en fonction du (ou des) terme(s) précédant(s) D un terme initial qui

Plus en détail

Exercice 1 : Questions diverses (5 points)

Exercice 1 : Questions diverses (5 points) Université Claude Bernard Lyon 1 Licence Sciences, Technologies, Santé L2 Année 2010-2011, 2ème semestre LIF5 Algorithmique & Programmation procédurale Contrôle final du 20 juin 2011 Durée : 1h30 Note

Plus en détail

Listes et arbres binaires

Listes et arbres binaires Des structures de données dynamiques Listes, Listes ordonnées Arbres binaires, arbre binaires de recherche Listes chaînées Utile si le nombre d éléments n est pas connu à l avance et évolue beaucoup. Permet

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche Chapitre 6 Arbres binaires de recherche 6.1 Introduction On a étudié le problème de la recherche dans une collection d éléments ordonnés entre eux : on a montré que Pour une liste contiguë, la recherche

Plus en détail

Programmation avancée en C

Programmation avancée en C Département Informatique Nom : Prénom : Année scolaire : 2007 2008 Date : 23 juin 2008 Module INF446 Session de juin Programmation avancée en C Contrôle de connaissance 1 de 45 minutes ÅERCI de répondre

Plus en détail

TD 1 de Langage C module Outils pour l'informatique Industrielle - Corrigés des Tds : http://www-lagis.univ-lille1.fr/~macaire/td.

TD 1 de Langage C module Outils pour l'informatique Industrielle - Corrigés des Tds : http://www-lagis.univ-lille1.fr/~macaire/td. Exercice 1 TD 1 de Langage C module Outils pour l'informatique Industrielle - Corrigés des Tds : http://www-lagis.univ-lille1.fr/~macaire/td.htm Exercices de base de Programmation Arbre Programmatique

Plus en détail

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche Université Paris Diderot Paris L Informatique Algorithmique Année 00-0, er semestre TD n Arbres Binaire de Recherche Le type de donné arbre" sera utilisé pour indiquer l ensemble de toutes les Arbres Binaires

Plus en détail

Option Informatique Arbres binaires équilibrés

Option Informatique Arbres binaires équilibrés Option Informatique Arbres binaires équilibrés Sujet novembre 2 Partie II : Algorithmique et programmation en CaML Cette partie doit être traitée par les étudiants qui ont utilisé le langage CaML dans

Plus en détail

Introduction: Arbres de recherche + Rappel: Arbres binaires de recherche

Introduction: Arbres de recherche + Rappel: Arbres binaires de recherche Introduction: Arbres de recherche + Rappel: Arbres binaires de recherche Dictionnaires ordonnés: Opérations principales: trouver(k): find(k): Si le dictionnaire a une entrée de clé k, retourne la valeur

Plus en détail

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

Ecole Nationale Polytechnique Département Génie Industriel Année Universitaire 2011/2012. Les Files

Ecole Nationale Polytechnique Département Génie Industriel Année Universitaire 2011/2012. Les Files . Ecole Nationale Polytechnique Département Génie Industriel Année Universitaire 2011/2012 Algorithmique et Programmation Les structures de données Les Files Introduction Une File ressemble fortement à

Plus en détail

Département Informatique Programmation objet. Cours n 8. Structures de données partie 3 Arbres binaires de calcul

Département Informatique Programmation objet. Cours n 8. Structures de données partie 3 Arbres binaires de calcul Programmation objet Cours n 8 Structures de données partie 3 Arbres binaires de calcul 1 Arbre binaire de calcul Nous avons vu l'utilisation des arbres binaires en tant que structure de données optimisée

Plus en détail

Arbres binaires Version prof Version prof

Arbres binaires Version prof Version prof Arbres binaires Version prof Version prof types /* déclaration du type t_element */ t_arbrebinaire = t_noeudbinaire t_noeudbinaire = enregistrement t_element cle t_arbrebinaire fg, fd n enregistrement

Plus en détail

L2 - Algorithmique et structures de données (Année 2010/2011) Examen (2 heures)

L2 - Algorithmique et structures de données (Année 2010/2011) Examen (2 heures) L2 - lgorithmique et structures de données (nnée 2010/2011) Delacourt, Phan Luong, Poupet xamen (2 heures) Les documents (cours, TD, TP) sont autorisés. Les quatre exercices sont indépendants. À la fin

Plus en détail

alg - Arbres binaires de recherche [br] Algorithmique

alg - Arbres binaires de recherche [br] Algorithmique alg - Arbres binaires de recherche [br] Algorithmique Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 25 avril 2015 Table des matières 1 Définition, Parcours, Représentation

Plus en détail

1.1 Écrire dans votre cahier la lettre de chaque instruction syntaxiquement correcte. Note: Les instructions sont indépendantes les unes des autres.

1.1 Écrire dans votre cahier la lettre de chaque instruction syntaxiquement correcte. Note: Les instructions sont indépendantes les unes des autres. QUESTION 1 (3 Points) Ces déclarations sont utilisées pour les sous-questions 11 à 13 const int LONGMAX = 51; const int CDMAX = 100; typedef char type_string[longmax]; enum type_classement POURRI,PASSABLE,BON,TRES_BON,EXCELLENT

Plus en détail

ARBRES BINAIRES DE RECHERCHE

ARBRES BINAIRES DE RECHERCHE ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d

Plus en détail

Cours Algorithmique, 2ème partie AS IUT

Cours Algorithmique, 2ème partie AS IUT Cours Algorithmique, 2ème partie AS IUT Cours 2 : Arbres Binaires Anne Vilnat http://www.limsi.fr/individu/anne/coursalgo Plan 1 Représentations arborescentes 2 Définition d un arbre binaire récursive

Plus en détail

Programmation avancée

Programmation avancée Programmation avancée Chapitre 1 : Complexité et les ABR (arbres binaires de recherche) 1 1 IFSIC Université de Rennes-1 M2Crypto, octobre 2011 Plan du cours 1 2 3 4 5 6 7 8 9 10 Algorithmes Définition

Plus en détail

Plan. Piqûre de rappel sur les références Evaluation d'expressions arithmétiques Variables et méthodes statiques Vocabulaire sur les arbres.

Plan. Piqûre de rappel sur les références Evaluation d'expressions arithmétiques Variables et méthodes statiques Vocabulaire sur les arbres. Plan Piqûre de rappel sur les références Evaluation d'expressions arithmétiques Variables et méthodes statiques Vocabulaire sur les arbres Amphi 4 1 Retour sur les références class Code { int numero; Code(int

Plus en détail

4.2 Les arbres binaires de recherche

4.2 Les arbres binaires de recherche 4.2 Les arbres binaires de recherche 4.2.1 Définition Les arbres binaires de recherche sont utilisés pour accélérer la recherche dans les arbres m-aires. Un arbre binaire de recherche est un arbre binaire

Plus en détail

Structures de données et algorithmes

Structures de données et algorithmes Structures de données et algorithmes Chapitre 4 Les arbres Nous introduisons dans ce chapitre le TDA : arbres binaires Ce TDA est intéressant pour plusieurs raisons : Les arbres de recherche binaire permettent

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche Chapitre 1 Arbres binaires de recherche 1 Les arbre sont très utilisés en informatique, d une part parce que les informations sont souvent hiérarchisées, et peuvent être représentées naturellement sous

Plus en détail

Travaux dirigés n o 6

Travaux dirigés n o 6 Travaux dirigés n o 6 Lycée Kléber MPSI, Option Info 2014/2015 Exercice 1 (Indexation d un arbre binaire) Ecrire une fonction Caml indexation : ( f, n) arbre_binaire -> (string,string) arbre_binaire qui

Plus en détail

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

Chap. VII : arbres binaires

Chap. VII : arbres binaires Chap. VII : arbres binaires 1. Introduction Arbre : collection d objets avec une structure hiérarchique Structure intrinsèque descendants d une personne (elle incluse) A ascendant connus d une personne

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 5 : Structures de données linéaires Benjamin Wack 2015-2016 1 / 37 La dernière fois Logique de Hoare Dichotomie Aujourd hui Type Abstrait de Données

Plus en détail

Algorithmique et Programmation Projets 2012/2013

Algorithmique et Programmation Projets 2012/2013 3 Dames 3. Objectif Il s agit d écrire un programme jouant aux Dames selon les règles. Le programme doit être le meilleur possible. Vous utiliserez pour cela l algorithme α β de recherche du meilleur coup

Plus en détail

RECURSIVITE ARBRES BINAIRES

RECURSIVITE ARBRES BINAIRES RECURSIVITE ARBRES BINAIRES Insertion, Parcours pré, post et in ordre, Recherche, Suppression. Ch. PAUL Algorithmique Arbres binaires 1 ARBRE BINAIRE DEFINITION RECURSIVE Les arbres binaires sont des arbres

Plus en détail

Arbres binaires de recherche et arbres rouge noir

Arbres binaires de recherche et arbres rouge noir Institut Galilée lgo, rbres, Graphes I nnée 006-007 License rbres binaires de recherche et arbres rouge noir Rappels de cours et correction du TD rbres binaires de recherche : définitions Un arbre binaire

Plus en détail

Listes de personnes et calculatrice polonaise inverse en Java

Listes de personnes et calculatrice polonaise inverse en Java Listes de personnes et calculatrice polonaise inverse en Java Université Paris Sud Motivation Le but de cet exercice est de manipuler les listes chaînées et les piles et de voir leur application en analyse

Plus en détail

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

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

Plus en détail

Algorithmique IN102 TD 3

Algorithmique IN102 TD 3 Algorithmique IN10 TD 16 décembre 005 Exercice 1 Clairement, il existe des arbres de hauteur h à h + 1 éléments : il sut pour cela que leurs n uds internes aient au plus un ls non vide. On a alors un arbre

Plus en détail

TP 4 -Arbres Binaires -

TP 4 -Arbres Binaires - L3 Informatique Programmation fonctionnelle OCaml Année 2013/2014 TP 4 -Arbres Binaires - Un arbre binaire est une structure de données qui peut se représenter sous la forme d une hiérarchie dont chaque

Plus en détail

Compression méthode de Huffman

Compression méthode de Huffman Compression méthode de Huffman Thierry Lecroq Université de Rouen FRANCE La méthode de Huffman consiste à remplacer les caractères les plus fréquents par des codes courts et les caractères les moins fréquents

Plus en détail

Initiation aux algorithmes des arbres binaires

Initiation aux algorithmes des arbres binaires Initiation aux algorithmes des arbres binaires Plan I. Les arbres biniaires I. Définition II. Représentation graphique d un arbre III. Terminologie IV. Représentation en mémoire des arbres binaires V.

Plus en détail

Chapitre. 12-1 Avant d utiliser la fonction graphe à table 12-2 Utilisation de la fonction graphe à table

Chapitre. 12-1 Avant d utiliser la fonction graphe à table 12-2 Utilisation de la fonction graphe à table Chapitre Graphe à table Avec cette fonction, vous pouvez faire apparaître un graphe ainsi qu une table à l écran et déplacer le pointeur sur le graphe pour stocker, au besoin, ses coordonnées dans la table.

Plus en détail

Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas

Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas 1. Arbres ordonnés 1.1. Arbres ordonnés (Arbres O) On considère des arbres dont les nœuds sont étiquetés sur un ensemble muni d'un

Plus en détail

Plan. Arbres équilibrés Arbres AVL Arbres a-b Quelques compléments de Java. Amphi 9 1

Plan. Arbres équilibrés Arbres AVL Arbres a-b Quelques compléments de Java. Amphi 9 1 Plan Arbres équilibrés Arbres AVL Arbres a-b Quelques compléments de Java Amphi 9 1 Structures d'arbre Les structures d'arbre permettent de réaliser des opérations dynamiques, telles que recherche, prédécesseur,

Plus en détail

Gestion d'un entrepôt

Gestion d'un entrepôt Gestion d'un entrepôt Épreuve pratique d'algorithmique et de programmation Concours commun des écoles normales supérieures Durée de l'épreuve: 3 heures 30 minutes Juin/Juillet 2010 ATTENTION! N oubliez

Plus en détail

Traduction des arbres programmatiques en C

Traduction des arbres programmatiques en C Traduction des arbres programmatiques en C Table des matières 1 Premier exemple : helloworld.c 1 2 Méthode de programmation 2 3 Déclaration de variables 2 4 Structures de contrôle 3 5 Opérateurs C 5 6

Plus en détail

Cours numéro 9 : arbres binaires et de recherche

Cours numéro 9 : arbres binaires et de recherche Cours numéro 9 : arbres binaires et de recherche LI213 Types et Structures de données Licence d Informatique Université Paris 6 Arbre Arbre Un arbre est un ensemble fini A d éléments, liés entre eux par

Plus en détail

Séance de TD 05 TD05. 1 Exercice 1. 1.1 Question 1 : dessins des ABR avec hauteurs différentes AG51

Séance de TD 05 TD05. 1 Exercice 1. 1.1 Question 1 : dessins des ABR avec hauteurs différentes AG51 Séance de TD 05 1 Exercice 1 1. Dessinez les arbres binaires de recherche de hauteur 2,3,4,5 et 6 pour le même ensemble de clés S = 1,4,5,10,16,17,21. 2. Donnez l algorithme de l opération ArbreRechercher(x,k)

Plus en détail

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 2012-2013 (2eme session) durée 2h Tous documents et calculatrices autorisés. Le sujet comporte 6 pages Le temps approximatif ainsi que le barème

Plus en détail

Licence 2 SPI parcours Info semestre 4 : ALGO et SD de base Fiche de TD 1 d exercices

Licence 2 SPI parcours Info semestre 4 : ALGO et SD de base Fiche de TD 1 d exercices Licence 2 SPI parcours Info semestre 4 : ALGO et SD de base Fiche de TD 1 d exercices Exercice : Somme de polynômes creux Dans chacune des trois représentations statiques suivantes, il est demandé d écrire

Plus en détail

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée BAZIN Danil et PRIEZ Jean-Baptiste LEX & YACC : Calculatrice Évoluée Table des matières 1 Introduction 3 2 Description 4 3 La grammaire utilisée 6 4 Lexèmes et FLEX 8 5 Analyse syntaxique et YACC 8 5.1

Plus en détail

1 Recherche de points dans un intervalle (17 points)

1 Recherche de points dans un intervalle (17 points) ALGORITHMIQUE ET PROGRAMMATION Durée h, tous documents autorisés. Examen de période 2, 14 mars 201 Le barème est indicatif (total sur 22 points). La rédaction de vos réponses devra contenir des commentaires

Plus en détail

Programmation récursive

Programmation récursive Année 2004-2005 F. Lévy IUT De Villetaneuse Dép t informatique Cours d'algorithmique 2 éme Année Cours 8 Programmation récursive 1. Qu'est-ce que la programmation récursive Définition : la programmation

Plus en détail

IN 101 - Cours 05. 7 octobre 2011. Un problème concret Recherche de collisions

IN 101 - Cours 05. 7 octobre 2011. Un problème concret Recherche de collisions Un problème concret Recherche de collisions IN 101 - Cours 05 7 octobre 2011 Le paradoxe des anniversaires dit que 365 élèves sont suffisants (en moyenne) pour avoir une collision d anniversaire, deux

Plus en détail

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

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes

Plus en détail

II arbres binaires de recherche

II arbres binaires de recherche I arbres binaires On définit un arbre binaire par : type arbin=^noeud; noeud=record filsg,filsd:arbin; cle:longint Un arbre binaire a peut être vide (si a=nil). Sinon il est formé d un noeud (a^) contenant

Plus en détail

Chaîne d additions ATTENTION!

Chaîne d additions ATTENTION! Chaîne d additions Épreuve pratique d algorithmique et de programmation Concours commun des écoles normales supérieures Durée de l épreuve: 3 heures 30 minutes Juin 2012 ATTENTION! N oubliez en aucun cas

Plus en détail

Licence E.E.A. TD N 2 de Langage C/C++

Licence E.E.A. TD N 2 de Langage C/C++ TD N 2 de Langage C/C++ 1 Licence E.E.A. TD N 2 de Langage C/C++ Ce TD a pour objectif de vous faire découvrir et utiliser le langage C et peut être C++. Il s agira de transcrire sous la forme d un programme

Plus en détail

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes ISMIN 1A Programmation 1 : Examen de programmation C Réponses Partie 1. Questions ouvertes 1. Soit la déclaration suivante, char tab[] = "". Que contient le tableau tab? Réponse : tab[0] = \0. tab est

Plus en détail

Pourquoi les arbres? Conception de structures de données. Représentation graphique d un arbre binaire. Définition des arbres BINAIRES.

Pourquoi les arbres? Conception de structures de données. Représentation graphique d un arbre binaire. Définition des arbres BINAIRES. Pourquoi les arbres? Conception de structures de données Cours 6 Arbres binaires 22 avril 201 Structure de données omniprésente en Informatique : structure naturelle : arbre de décision, tournoi, généalogie,

Plus en détail

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

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Fonctions graphiques

Fonctions graphiques Fonctions graphiques M. Deloizy - 25 octobre 1993 Inclure le fichier 'stdgraph.h' pour toute utilisation des fonctions graphiques par la ligne (en ajoutant éventuellement le chemin d'accès) : #include

Plus en détail

Complément du cours Langage C

Complément du cours Langage C Complément du cours Langage C Licence Fondamentale SMI (semestre 3) Pr. Mouad BEN MAMOUN ben_mamoun@fsr.ac.ma Année universitaire 2013/2014 2013/2014 Pr. Ben Mamoun 1 Chapitre 9 Types structures, unions

Plus en détail

3.3 Les Files d attente (Queues)

3.3 Les Files d attente (Queues) 3.3 Les Files d attente (Queues) 3.3.1 Définition La file d attente est une structure qui permet de stocker des objets dans un ordre donné et de les retirer dans le même ordre, c est à dire selon le protocole

Plus en détail

Contrôle sur papier. INF441 Modex Programmation efficace juin 2010. 1. Photo de dés

Contrôle sur papier. INF441 Modex Programmation efficace juin 2010. 1. Photo de dés Contrôle sur papier INF441 Modex Programmation efficace juin 2010 1. Photo de dés Plusieurs dés ont été lancés sur une table, et une photo a été pris de haut. Cette photo est représentée par une matrice.

Plus en détail

Objectifs du cours d aujourd hui. Informatique I : Cours d introduction à l informatique et à la programmation Structures de Données Abstraites & Tris

Objectifs du cours d aujourd hui. Informatique I : Cours d introduction à l informatique et à la programmation Structures de Données Abstraites & Tris Objectifs du cours d aujourd hui Informatique I : Cours d introduction à l informatique et à la programmation Structures de Données Abstraites & Tris Continuer l approfondissement de la programmation de

Plus en détail

Organisation des données et structures de stockage

Organisation des données et structures de stockage ING2 - ING3 Nvx 2009-2010 Organisation des données et structures de stockage I. Stockage de l information en C Ce chapitre rappelle brièvement et complète certaines notions de base vues en première année

Plus en détail

Corrigé des exercices

Corrigé des exercices hapitre 1 option informatique orrigé des eercices Arbres binaires Eercice 1 La première solution qui vient à l esprit est sans doute celle-ci : let rec profondeur p = function Nil > [] a when p = 0 > [a]

Plus en détail

Structures de Données

Structures de Données Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Département Génie Informatique Définition Les iles - Une pile est une liste linéaire d'éléments déléments (entiers, ) où l'ajout et la suppression

Plus en détail

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

T. A. D. pile. Chapitre 7 (suite) Listes particulières. T. A. D. file. représentation chaînée de la file algorithmique. Files 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

Plus en détail

Soutien Informatique

Soutien Informatique 1/51 Soutien Informatique Nicolas Castagné et François Portet PHELMA 2/51 Sommaire Allocation Mémoire Les types abstraits de données 3/51 Allocation dynamique de mémoire (stdlib.h,string.h) Réserver un

Plus en détail

Chapitre 3 : Pointeurs et références

Chapitre 3 : Pointeurs et références p. 1/18 Chapitre 3 : Pointeurs et références Notion de pointeur L adresse d une variable est une valeur. On peut donc la stocker dans une variable. Un pointeur est une variable qui contient l adresse d

Plus en détail

Algorithmes pour les graphes

Algorithmes pour les graphes Algorithmes pour les graphes 1 Définitions Un graphe est représenté par : V : L ensemble des noeuds ou sommets. E : L ensemble des arcs ou arrêtes. E est un sous-ensemble de V xv. On note G = (V, E). Si

Plus en détail

Examen de Langage C Vendredi 2 Décembre 2011

Examen de Langage C Vendredi 2 Décembre 2011 Année 2011-2012 Examen de Langage C Vendredi 2 Décembre 2011 Promotion Guichet 1 ière année É. Salvat Modalités : Durée : 2 heures Seul document autorisé : carte de référence du C, pas de machine à calculer,

Plus en détail

Les références et la mémoire

Les références et la mémoire Chapitre 3 Les références et la mémoire 3.1 Introduction En Java, pour déclarer une variable, il faut donner son nom, précédé du type qu on souhaite lui attribuer. Ces types peuvent être des types primitifs

Plus en détail

Licence informatique - L3 Année 2012/2013. Conception d algorithmes et applications (LI325) COURS 2

Licence informatique - L3 Année 2012/2013. Conception d algorithmes et applications (LI325) COURS 2 Licence informatique - L Année 0/0 Conception d algorithmes et applications (LI) COURS Résumé. Cette deuxième séance est entièrement consacrée aux applications du principe Diviser pour Régner. Nous regarderons

Plus en détail

Application des arbres binaires. Plan

Application des arbres binaires. Plan Application des arbres binaires. Plan Compter les arbres binaires Tétrarbres (quad trees) Problème des n corps Recherche dans un intervalle Recherche dans un nuage de points Recherche dans un arbre d intervalles

Plus en détail

char (1) short (2) int (4) long int (8) long long int (8) unsigned char unsigned int unsigned short unsigned long int unsigned long long int

char (1) short (2) int (4) long int (8) long long int (8) unsigned char unsigned int unsigned short unsigned long int unsigned long long int char (1) short (2) int (4) long int (8) long long int (8) unsigned char unsigned int unsigned short unsigned long int unsigned long long int float (4) double (8) long double (16) char* (8) int* (8)...

Plus en détail

Programmation : Exercices

Programmation : Exercices Programmation : Exercices IUT de Villetaneuse R&T 1 ère année Laure Petrucci 6 novembre 2007 1 Premiers programmes Exercice 1.1 : Machine à dessiner On souhaite écrire un programme pour afficher des dessins.

Plus en détail

EXAMEN FINAL. 2 Février 2006-2 heures Aucun document autorisé

EXAMEN FINAL. 2 Février 2006-2 heures Aucun document autorisé MIE - E ANNÉE ALGORITHMIQUE GÉNÉRALE Vincent Mousseau EXAMEN FINAL Février 006 - heures Aucun document autorisé Exercice : On s intéresse à la gestion informatique des réservations sur l année d une salle

Plus en détail

MÉRÉ Aurélien FIIFO1. Pathfinder

MÉRÉ Aurélien FIIFO1. Pathfinder MÉRÉ Aurélien FIIFO1 AMC Pathfinder 1 Sommaire Préambule... 3 Modélisation de l espace... 4 Modélisation des cases δ, α... 4 Interface en mode texte... 5 Modélisation du robot... 8 1 ) Le type Robot...

Plus en détail

Arnaud DABOUIS Vincent HURBOURQUE IMAC 1. PROJET C : Traitement d images

Arnaud DABOUIS Vincent HURBOURQUE IMAC 1. PROJET C : Traitement d images PROJET C : Traitement d images 1 SOMMAIRE 1) Schéma et structure a) Schéma de la structure b) Les structures utilisées La structure image La structure calque La structure LUT La structure Historique et

Plus en détail

TD 5 : Les piles. PC* - Lycée Thiers 2015/2016

TD 5 : Les piles. PC* - Lycée Thiers 2015/2016 2015/2016 Exercice 1 : Pile renversée Corrigé Consignes Pour tous les exercices de cette planche on aura préalablement écrit l implémentation des piles à capacité limitée ou illimitée vue en cours, et

Plus en détail

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

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être

Plus en détail

Enveloppes convexes dans le plan

Enveloppes convexes dans le plan ÉCOLE POLYTECHNIQUE ÉCOLES NORMALES SUPÉRIEURES ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE B (XECLR)

Plus en détail

Les algorithmes de base du graphisme

Les algorithmes de base du graphisme Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............

Plus en détail

Marches, permutations et arbres binaires aléatoires

Marches, permutations et arbres binaires aléatoires Marches, permutations et arbres binaires aléatoires Épreuve pratique d algorithmique et de programmation Concours commun des Écoles Normales Supérieures Durée de l épreuve: 4 heures Cœfficient: 4 Juillet

Plus en détail

Structures de données linéaires

Structures de données linéaires Structures de données linéaires I. Liste, Pile et file. Une liste linéaire est la forme la plus simple et la plus courante d'organisation des données. On l'utilise pour stocker des données qui doivent

Plus en détail