Tuesday, 2 October, 12. Les Arbres

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

ARBRES BINAIRES DE RECHERCHE

Les arbres binaires de recherche

INF601 : Algorithme et Structure de données

Arbres binaires de recherche

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA (d'après A.-M. Hugues) màj 17/04/2007

Algorithmique, Structures de données et langage C

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

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

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

Domain Name Service (DNS)

Prêt(e) pour le CE1. Tu es maintenant au CE1. Avant de commencer les leçons, nous allons réviser avec toi!

La mémoire. Un ordinateur. L'octet. Le bit

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Modélisation des données

A. Définition et formalisme

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

L ARBORESCENCE. Qu est-ce qu un dossier? L arborescence?

majuscu lettres accent voyelles paragraphe L orthographe verbe >>>, mémoire préfixe et son enseignement singulier usage écrire temps copier mot

ces ses c est s est sais / sait

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

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Programmation C. Apprendre à développer des programmes simples dans le langage C

Initiation à LabView : Les exemples d applications :

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

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

Modélisation de bases de données : Le modèle relationnel

Cours 1 : Qu est-ce que la programmation?

Objets Combinatoires élementaires

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

Systèmes d information et bases de données (niveau 1)

DNS : Domaine Name System

Systèmes décisionnels et programmation avancée

Annexe C Spécification pour les fichiers importés en format XML

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Initiation à la Programmation en Logique avec SISCtus Prolog

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

NOEUD HERRINGBONE-PINEAPPLE STANDARD TYPE and PASS

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Windows serveur 2012 : Active Directory

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

UML (Paquetage) Unified Modeling Language

Quelques Algorithmes simples

Définitions. Numéro à préciser. (Durée : )

Business Process Modeling (BPM)

chapitre 4 Nombres de Catalan

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

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

Enregistreur de Température pour PC DALLAS 1820

Compétence 3-1 S EXPRIMER A L ECRIT Fiche professeur

Rappels sur les suites - Algorithme

«Dire et écrire» pour réaliser une composition en travail collaboratif en géographie. Agnès Dullin, lycée J. Racine 20 rue du Rocher, Paris

Les opérations binaires

Maple: premiers calculs et premières applications

Formats d images. 1 Introduction

Analyse hiérarchique de tâches (AHT)

Chapitre I Notions de base et outils de travail

La Gestion de fichiers Supports réalisés avec OpenOffice.org 2.3 Writer. La Gestion de fichiers. Niveau : Débutant Auteur : Antonio da Silva

Arborescence et création de dossiers

Traitement bas-niveau

Document d aide au suivi scolaire

Serveurs de noms Protocoles HTTP et FTP

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

SRAL Saint Raphaël. Maison des associations 213, rue de la Soleillette Saint Raphaël. : : dromain.jean-pierre@neuf.

Réussir son entrée en grammaire au CE1

La société Klippan France dont l usine est à Gournay-en-Bray en Normandie, La société Autoliv S.A. dont l usine est à Seclin dans le Nord, Normandie.

1.1 L EXPLORATEUR WINDOWS

Tutorial NL220. Objectifs : Fournir un guide utilisateur pour NL220. Présenter une méthodologie efficace pour la création de projet

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

Gérer, stocker et partager vos photos grâce à Picasa. Janvier 2015

Rallye Mathématiques de liaison 3 ème /2 nde et 3 ème /2 nde pro Epreuve finale Jeudi 21 mai 2015 Durée : 1h45

UNIVERSITE LA SAGESSE FACULTÉ DE GESTION ET DE FINANCE MBA OPTION MIS. MIAGe METHODES INFORMATIQUES APPLIQUEES A LA GESTION

Leçons et exemples de programmation en Logo

Création d un formulaire de contact Procédure

Sujet de rédaction. «Mon histoire»

Le + TICE : Rendre l élève autonome et l impliquer dans son apprentissage. Comment créer une carte heuristique?

BASE. Vous avez alors accès à un ensemble de fonctionnalités explicitées ci-dessous :

scientifique de Kourou (présence du on) mois, avant, quelques jours, avant, à partir de, le dernier jour.

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)

Création et Gestion des tables

Unity Real Time 2.0 Service Pack 2 update

GUIDE Excel (version débutante) Version 2013

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Algorithmique et Programmation

Guide d usage pour Word 2007

Atelier rédactionnel

2 Moodle Guide 2c : banque de questions et activité Test. Version du service

CH.6 Propriétés des langages non contextuels

Microsoft Excel. Tableur

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

Compte-rendu de Hamma B., La préposition en français

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Université de Bangui. Modélisons en UML

Conception des bases de données : Modèle Entité-Association

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Transcription:

Les Arbres

Qu est ce qu un arbre? Un arbre est un modèle abstrait d une structure hiérarchique Un arbre est constitué de nœuds reliés par une relation parent-enfant A=(N,P) N ensemble de nœuds P relation binaire parents de r N, la racine Il y a un chemin unique entre la racine r et chaque nœud

Exemple 1 2 3 4 5 6 7 8 9 10

Applications Livres (chapitres, sections, paragraphes ) Expressions arithmétiques Compression de données (code de Huffman) Organisation de fichiers Arbres généalogiques Tri Décomposition syntaxique

Arbre généalogique Paul Jean Cécile Rita Karl Sylvie Jack Sophie Sébastien Bob Jean Steve

Arbres syntaxiques Un arbre syntaxique représentant une expression * - + 75 2 6 4

Arbres syntaxiques Un arbre syntaxique représentant l analyse d une phrase Phrase Groupe nominal Groupe verbal article nom commun verbe complément la lionne dévore article nom commun le steak

Arbres de décision Quel temps fait-il? couvert Ensoleillé pluvieux Température? La voisine bronze devant ma fenêtre? Je reste chez moi oui > 10 degré 10 degré non Je sors le chien Je reste chez moi Je sors le chien Je reste chez moi

Arbre lexicographique Un arbre lexicographique, ou arbre en parties communes, ou dictionnaire

Arbres Quartiques Arbre quartique si image toute noire si image toute blanche sinon 1 2 4 3 1 2 3 4 UMLV

Arbres Quartiques...... UMLV

Exemple: Arbre de jeu (Tic tac toe)

Terminologie sous-arbre Racine : le noeud sans parent (prédécesseur) Noeud interne (intérieur) : noeuds ayant au moins un enfant (successeur) Feuilles : noeuds n ayant aucun successeur Sous-arbre: arbre constitué d un noeud et de ses descendants

Terminologie Ancêtres d un nœud: parent, grands-parents, arrière grands-parents... Descendants d un nœud: fils, petit-fils, arrière petit-fils... Frères d un nœud: tous les autres nœuds ayant le même parent B, C, D enfants de A C, D frères de B A, C ancêtres de G I, J descendants de G

Terminologie : Profondeur et niveau Profondeur d un nœud v: le nombre d ancêtres de v ou distance de v à la racine Profondeur(v) = 0 si v = racine 1 + profondeur(parent (v) ) sinon Le niveau n est formée des sommets de profondeur p. 0 A 1 B C D 2 E F G H 3 I J

Terminologie: Hauteur h(v) = distance de v à son plus lointain descendant qui est une feuille h(v) = 0 si v est une feuille 1 + max { h(e) e enfant de x } sinon h(arbre) = h(racine(arbre)) A h (H) = 0 h (G) = 1 h (C) = 2 h(arbre) = h (A) = 3 B C D E F G H I J

Définition récursive Rien Une racine Une racine + des sous-arbres : r... Sous- arbres

Les différents types d arbres Il existe plusieurs types d arbres, les principaux sont les suivants : Arbre binaire : C est un arbre dont un nœud n accepte pas plus de deux nœuds, un nœud fils à droite et un fils à gauche (à part les feuilles). Dans ce type d arbre on a : Arbre binaire (non équilibré) L arbre AVL (Arbre binaire équilibré) Arbre n-aires : C est un arbre dont chaque nœud peut accepter de 0 à n nœuds. Dans ce type d arbre on a: arbre de recherche (arbre non équilibré) Le B-arbre Le B-arbre* Le B-Arbre+

Parcours Parcourir un arbre signifie visiter dans un certain ordre tous ses nœuds. Utile pour l exploration des arbres Deux catégories : Parcours en largeur : parcours niveau par niveau Parcours en profondeur: préfixe, Suffixe (postfix), Infixe (symétrique) parcours branche après branche

Parcours en largeur Parcours niveau par niveau : on visite les nœuds niveau par niveau, de gauche à droite, en commençant par la racine A B C D E F G H I J (A,B,C,D,F,G,H,I, J) Quelle structure de données pour l itérateur?

Parcours en profondeur Préfixe : d abord la racine, puis récursivement les sous-arbres de gauche à droite suffixe :d abord récursivement les sous-arbres de gauche et de droite, puis la racine Infixe : d abord récursivement le premier sousarbre de gauche, puis la racine, puis récursivement les sous-arbres restant

Parcours en profondeur 1 2 3 4 5 6 7 8 9 10 Parcours préfixe : (1, 2, 5, 6, 3, 7, 9, 10, 4, 8) Parcours suffixe : (5, 6, 2, 9, 10, 7, 3, 8, 4, 1) Parcours infixe : (5, 2, 6, 1, 9, 7, 10, 3, 8, 4)

Parcours en profondeur + * / a b - d b c Préfixe : + * a b / - b c d suffixe : a b * b c - d / + Infixe : (a * b) + ((b - c) / d)

Les arbres dans la STL Se retrouvent notamment sous quatre dénominations : set : permet de représenter des ensembles au sens mathématique du terme map : permet de représenter des dictionnaires (clé, valeur) multiset : représente des multi-ensembles multimap : représente des dictionnaires avec des collisions Structure de données sous jacente : structure d'arbre avec des variantes suivant les compilateurs (arbre RB,B+,...)