Algorithmique et Conception Objet

Slides:



Advertisements
Présentations similaires
Structures de données avancées : Principales structures de données
Advertisements

Chapitre 3 Les arbres binaires
Au programme du jour …. Un peu plus de structures de données
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Calcul propositionnel
Chapitre VI. Arbres (définition, parcours, représentation)
Chapitre II.Rappels mathématiques et complexité
Continuité Introduction Continuité Théorème des valeurs intermédiaires
Cours 8 Arbres équilibrés
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Structures de données linéaires
Cours d’Algorithmique

LOGO Responsable du cours Mlle Amina GHRAB : 1 ère année IAG Institut Supérieur de Gestion de Tunis.
OCaml – Les arbres L3 MI.
Dérécursivation Dérécursiver, c’est transformer un algorithme récursif en un algorithme équivalent ne contenant pas d’appels récursifs. Récursivité terminale.
Les structures de données arborescentes
Arbre binaire de recherche
Algorithmes Branch & Bound
RECURSIVITE ARBRES BINAIRES
Le codage des nombres en informatique
Programmation fonctionnelle Le langage LISP
Arbre Rouge Noir.
Bases de données lexicales
Gestion de Fichiers Arbres B.
Structures de données IFT-2000
Les fichiers indexés (Les B-arbres)
LES ARBRES IUP 2 Génie Informatique
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Structures de données IFT-2000 Abder Alikacem Standard Template library Édition Septembre 2009 Département dinformatique et de génie logiciel.
Structures de données IFT-2000
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Gestion de Fichiers Indexes basés sur les structures d’arbres binaires et indexes à niveaux multiples.
Algorithmes d ’approximation
Les arbres binaires.
Les arbres et tas binomiaux
Partie II Sémantique.
Exposé en structures de données
IV. Arbres  Arbre binaire (AB) Représentation SDD d’un AB
Structures de données IFT-2000
LES ARBRES Un arbre est une structure homogène dont chaque élément,
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
Mathématiques Discrètes
Programmation linéaire en nombres entiers
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
Algorithmes Branch & Bound
Arbres binaires et tables de hachage
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
Le langage Racket (Lisp)
Exploration systématique de graphes
Structures de données avancées : MBT ( Multidimensional B-trees )
Sémantique des instructions pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Variantes des B arbres
1 UMLV  FICHIERS Mémoire de masse découpée en blocs Fichier :liste chaînée de blocs, ou arbre de blocs (répertoires - fichiers)‏ Bloc d’éléments Bloc.
Structures de données avancées : Principales structures de fichiers
Structures de données avancées : Principales structures de données
Structures de données avancées : MTH ( Multidimensional trie hashing ) D. E ZEGOUR Institut National d ’Informatique.
Scripts et fonctions Instructions de contrôle
Chapitre 4 La représentation des nombres.
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem Semaine 10 Les algorithmes de recherche Les structures arborescentes Département d’informatique et de génie.
Définition Un algorithme est l’énoncé d’une séquence d’actions primitives réalisant un traitement pouvant être exécuté par un processeur bien défini dans.
Philippe Gandy - 15 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
4/25/2017 4:30 PM Arbres (2,4) CSI2510 CSI2510.
CSI25101 Tri Plus efficace. CSI25102 Tri récursif Le tri récursif divise les données de grande taille en deux presque moitiés et est appelé récursivement.
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Les arbres Arbres binaires
Les bascules et registres
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
Transcription de la présentation:

Algorithmique et Conception Objet Structures de Données2 Algorithmique et Conception Objet

Chapitre III Conteneurs arborescents définition notation et représentations algorithmes fondamentaux conclusion Structures de Données, 2

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion La structure d’arbre est une structure de données primordiale en informatique. Diverses variantes sont utilisées : arbres binaires, arbres binaires complets, arbres généralisés, forêts d’arbres, etc … De nombreuses informations peuvent être organisées sous forme arborescente : un arbre généalogique, un dictionnaire, une structure syntaxique, théorie des langages, compilation, etc ... Structures de Données, 3

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Représentation d’une relation d’inclusion entre plusieurs ensembles peut être représentée par un arbre. B A C F E D G H I J A B C D E F G I J H Structures de Données, 4

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Un type structuré dans tout langage de programmation peut être représentée sous forme d ’une arbre Etudiant Inscription Identité Date Naissance Lieu Naissance Université Lieu Nom Prénom Ville Département Jour Mois An Ville Département Structures de Données, 5

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Une expression arithmétique peut se représenter sous forme d ’une arborescence. Par exemple, en utilisant les priorités d’opérateurs usuelles, l’expression A+(B-1)*5 a pour représentation : + A * - 5 B 1 Structures de Données, 6

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion On peut, pour des raisons d’économie de place dans la représentation, mettre en facteur les préfixes communs des mots et construire ainsi un dictionnaire arborescent. Par exemple, le dictionnaire composé des mots [art, article, artiste, cou, cour, couteau, couve, couvent, couver] peut se représenter par : * art cle * i ste * ? * * r * cou nt * teau r * ve Structures de Données, 7

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Remarque On a constaté que les schémas récursifs simplifiaient beaucoup l’écriture d’algorithmes sur les listes chaînées. On utilisait pour cela, la définition récursive suivante : une liste est soit vide, soit constituée d’un élément chaîné à une liste. Il en va de même pour les arbres, où on peut donner la définition suivante : un arbre est soit vide soit constitué d’un élément auquel sont chaînés un ou plusieurs arbres. Structures de Données, 8

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Terminologie A B C D E F Chaque sommet ou nœud (A, B, C, D, E, F) possède une certain nombre de fils (B et C pour A). Inversement, A est le père de B et de C. Lorsqu’un nœud n’a pas de fils (D, E ou F), on dit que c’est une feuille de l’arbre ou encore un nœud terminal. Le nœud particulier A qui n ’a pas de père, est appelé racine. Une liaison entre deux nœuds est appelée arc ou branche. Tous nœuds, sauf la racine, n’ont qu’un seul père. Structures de Données, 9

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Terminologie B C D E F sont appelés des sous-arbres de l ’arbre présenté précédemment Structures de Données, 10

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Arbre n-aire, arbre binaire Un arbre qui admet pour chaque nœud, au plus n fils, l’arbre est dit n-aire. Pour n égal à deux, l’arbre est dit binaire. Les arbres généraux (arbres n-aire, n > 2) peuvent être représentés par des arbres binaires équivalents. Etude des ARBRES BINAIRES Pour les arbres binaires, on parlera de fils gauche et de fils droit ainsi que de sous-arbre gauche et de sous-arbre droit. Structures de Données, 11

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Arbre n-aire, arbre binaire Les algorithmes travaillant sur les arbres sont pour beaucoup d’entre eux des algorithmes récursifs. D’une écriture plus concise et naturelle (qu’une forme itérative), ils utilisent la définition suivante : un arbre binaire est soit vide soit composé d’un élément auquel sont chaînés un sous-arbres gauche et un sous-arbre droit (un sous-arbre est un arbre binaire). Structures de Données, 12

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Représentation d ’un Arbre binaire A B C D E F Graphique Parenthésée / Parenthésée compacte A ( B ( C ( ( ), ( ) ), D ( ( ) , ( ) ), E ( ( ), F ( ( ), ( ) ) ) ) A ( B ( C, D ), E ( , F ) ) Structures de Données, 13

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Numérotation de Dewey Pour tracer un parcours ou, plus généralement, un algorithme sur un arbre, on peut numéroter chaque nœud comme suit : la racine est numérotée 1, le sous-arbre gauche est numéroté 1, le sous-arbre droit est numéroté 2, les numéros sont séparés par des points. Structures de Données, 14

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Numérotation de Dewey Exemple : Pour l’arbre  A ( B (C, D), E (, F (G, H(I, J)))) 1 A 1.1 B 1.1.1 C 1.1.2 D 1.2 E 1.2.2 F 1.2.2.1 G 1.2.2.2 H 1.2.2.2.1 I 1.2.2.2.2 J Structures de Données, 15

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Primitives d’accès Il est possible de choisir comme primitives les actions qui permettent d’accéder à la valeur, au fils gauche et au fils droit d’un nœud. On peut également choisir au autre jeu de primitives aussi naturelles, par exemple à la valeur, au fils et au frère d’un nœud. valeur A B C Fils gauche Fils droit Fils Frère Structures de Données, 16

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Représentation chaînée Racine A B F C G D E H L ’arbre A (B (C (D, E)), F (, G (H))) Structures de Données, 17

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Représentation d’un nœud On définit un nœud (sommet) dans le cas d’un arbre binaire, comme un triplet composé d’une information de type X et de deux pointeurs (nœud de élément de X) contenant l’adresse des fils gauche et droit. Nœud de X Adresse Pointeur de Nœud de X Adresse Pointeur de Nœud de X X Structures de Données, 18

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Niveau des nœuds On dit que deux nœuds sont à un même niveau dans un arbre, s’ils sont issus d’un même nœud après le même nombre de filiations. A B C D E F G D, E et F sont situés au même niveau. Ils « descendent » de A après deux filiations. Structures de Données, 19

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Niveau des nœuds On peut donner la définition suivante : le niveau de la racine de l’arbre est égal à un, le niveau d’un nœud, autre que la racine, est égal au niveau de son père plus un. On peut écrire des algorithmes de parcours d’un arbre en passant par tous les nœuds situés à un même niveau. Si on part de la racine et l’on traite tous les nœuds situés au niveau 2, puis tous les nœuds situés au niveau 3, etc … on dit qu’on utilise un parcours descendant par niveaux (ou en largeur). Structures de Données, 20

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Mot des feuilles d’un arbre binaire Le mot des feuilles d ’un arbre binaire est la chaîne formée, de gauche à droite, de la valeur des feuilles de l’arbre. A B C D E F G « G E F » Structures de Données, 21

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Arbre binaire complet Si chaque nœud autre qu’une feuille admet deux descendants et si toutes les feuilles sont au même niveau, on dit que l ’arbre binaire est complet. La taille de l’arbre est égale à 2k - 1où k est le niveau des feuilles A B C D E F G Structures de Données, 22

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Hauteur d’un nœud La hauteur d’un arbre est égale au maximum du niveau des feuilles. A B E C D F G H I J K 1 2 3 4 5 Structures de Données, 23

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Hauteur d’un nœud la hauteur d’un arbre est égale à la hauteur de sa racine, la hauteur d ’un arbre vide est nulle, la hauteur d’un nœud est égale au maximum des hauteurs du sous-arbre gauche et du sous-arbre droit plus un. Structures de Données, 24

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Facteur d’équilibre le facteur d’équilibre de chaque sous-arbre est associé à sa racine, le facteur d’équilibre d ’un nœud est égal à la hauteur du sous-arbre gauche moins la hauteur du sous-arbre droit. 4/-1 A 2/0 3/-1 B E 1/0 1/0 1/0 2/0 C D F G 1/0 1/0 H I Structures de Données, 25

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Arbre équilibré Un arbre est dit équilibré si pour tout nœud p de cet arbre la valeur absolue du facteur d ’équilibre est inférieur ou égale à un: facteur d’équilibre (p)  1 Structures de Données, 26

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Arbre dégénéré Un arbre est dit dégénéré si tous les nœuds de cet arbre ont au plus un descendant A C E B D L’arbre A (, B (C (D (, E)))) Un arbre dégénéré est équivalent à une liste Structures de Données, 27

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Arbre binaire ordonné Soit une relation d’ordre (notée ) sur l’ensemble des valeurs attachées aux nœuds d’un arbre binaire. Un arbre binaire est dit ordonné si la chaîne infixée des valeurs, correspondant au parcours infixé, est ordonnée. 34 11 62 5 19 50 90 15 30 38 58 70 34 58 Structures de Données, 28

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Parcours d’un arbre binaire Ce problème est analogue à celui du parcours séquentiel d’une liste chaînée. Les algorithmes de parcours sont très importants car il servent de base à l’écriture de la plupart des algorithmes opérant sur les arbres. Il y a plusieurs manières de parcourir un arbre suivant l’ordre dans lequel on énumère un nœud et ses sous-arbres gauche et droit. Nous nous limitons ici aux trois parcours classiques : préfixé infixé postfixé Structures de Données, 29

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Parcours d’un arbre binaire A B F C G D E H Structures de Données, 30

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Parcours préfixé (ou en préordre) Ce parcours consiste à effectuer dans l ’ordre : le traitement de la racine, le parcours du sous-arbre gauche, le parcours du sous-arbre droit. Pour l’arbre présenté sur la figure précédente, l’on traite les nœuds dans l’ordre : A B C D E F G H Structures de Données, 31

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Parcours infixé Ce parcours ou appelé projectif ou symétrique consiste à effectuer dans l ’ordre : le parcours du sous-arbre gauche, le traitement de la racine, le parcours du sous-arbre droit. Pour l’arbre présenté sur la figure précédente, l’on traite les nœuds dans l’ordre : D C E B A H G F Structures de Données, 32

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Parcours postfixé Ce parcours aussi appelé ordre terminal consiste à effectuer dans l ’ordre : le parcours du sous-arbre gauche, le parcours du sous-arbre droit, le traitement de la racine. Pour l’arbre présenté sur la figure précédente, l’on traite les nœuds dans l’ordre : D E C B H G F A Structures de Données, 33

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Parcours d’un arbre binaire pPréfixé (A) si A.racine   alors traiter (A.racine) pPréfixé (A.racine.gauche) pPréfixé (A.racine.droit) pInfixé (A) si A.racine   alors pInfixé (A.racine.gauche) traiter (A.racine) pInfixé (A.racine.droit) pRécursif (x) si condition(x) alors (x) pRécursif (f(x)) pPostfixé (A) si A.racine   alors pInfixé (A.racine.gauche) pInfixé (A.racine.droit) traiter (A.racine) Structures de Données, 34

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Parcours d’un arbre binaire Même si la stratégie la plus commune en matière de parcours d ’un arbre binaire est basée sur une algorithmique récursive, on peut envisager d’autres approches comme : le remplacement de l ’appel récursif conditionnel par un schéma itératif équivalent, l’utilisation d’une pile. Il faut en effet pouvoir mémoriser l’environnement de l’appel récursif qui est indispensable à la poursuite de l’algorithme au retour de celui-ci. Structures de Données, 35

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Example d’un arbre binaire A B F C G D E H Structures de Données, 36

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Taille d’un arbre binaire / Schéma récursif Raisonnement par récurrence : A = <> résultat = 0 A  <> résultat = 1 + Taille (SAG(A)) + Taille (SAD(A)) Structures de Données, 37

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Nombre de feuilles / Schéma récursif Raisonnement par récurrence : A = <> résultat = 0 A  <> A est une feuille résultat = 1 A n’est pas une feuille résultat = nbfeuille (SAG(A)) + nbfeuille (SAD(A)) Structures de Données, 38

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Vérifier qu’un arbre binaire n’est pas dégénéré Raisonnement par récurrence : A = <> résultat = Faux A  <> A a deux fils résultat = Vrai // l’arbre est normal SAG(A) est vide résultat = normal (SAD(A)) SAD(A) est vide résultat = normal (SAG(A)) Structures de Données, 39

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Recherche associative dans un arbre binaire Raisonnement par récurrence : A = <> val  A résultat = Faux A  <> Valeur(A) = val val  A résultat = Vrai Valeur(A)  val Rech (val, SAG(A)) val  SAG(A) résultat = Vrai Non Rech (val, SAG(A)) val  SAG(A) Rech (val, SAD(A)) Structures de Données, 40

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Recherche dans un arbre binaire ordonné Rappelons qu’un arbre ordonné est tel que la valeur associée à chaque nœud est supérieure à toutes les valeurs du sous-arbre gauche, et inférieure ou égale à toutes les valeurs du sous-arbre droit. SAG(A) < Valeur (A)  SAD(A) val Structures de Données, 41

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Recherche dans un arbre binaire ordonné Raisonnement par récurrence : A = <> val  A résultat = Faux A  <> Valeur(A) = val val  A résultat = Vrai Valeur(A) < val résultat = dicho (SAD(A), val) Valeur(A) > val résultat = dicho (SAG(A), val) Structures de Données, 42

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Insertion dans un arbre binaire ordonné Raisonnement par récurrence : A = <> créfeuille (elem, A) création d’une feuille d’adresse racine A  <> Valeur(A)  elem insère (SAD(A), elem) Valeur(A) > elem insère (SAG(A), elem) Structures de Données, 43

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Insertion d’un élément dans un arbre binaire 61 58 70 51 93 45 55 89 63 Nouvel élément Structures de Données, 44

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Suppression d’un élément dans un arbre binaire 61 58 70 51 93 45 55 89 Structures de Données, 45

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Suppression d’un élément dans un arbre binaire 61 58 70 93 51 89 45 55 Structures de Données, 46

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Suppression d’un élément dans un arbre binaire 61 58 70 93 45 55 89 51 Structures de Données, 47

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Représentation contiguë d’un arbre binaire La représentation chaînée utilisée jusqu’alors n’est pas l’unique moyen de représentation d’un arbre. Une solution alternative peut consister en l’emploi d’une table codant et réalisation le chaînage par une simple opération d’indexation dans cette même table. Cette table d’enregistrements contiendra pour chacun des éléments les informations suivantes : un champ gauche, un champ donnée (de type X) et un champ droit. Structures de Données, 48

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion A B F C D G E H Exemple de représentation contiguë gauche 3 -1 6 4 7 -1 -1 -1 ... val A F G B C E H D ... droit 1 2 -1 -1 5 -1 -1 -1 ... Structures de Données, 49

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Représentation contiguë d’un arbre binaire L’écriture des algorithmes ne pose pas de problème particulier. Il suffit de traduire : pointeur P par entier P P.val par T[P].val P.droite par T[P].droite P.gauche par T[P].gauche Structures de Données, 50

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Généralisation du concept d’arbre Les arbres binaires ne représentent qu’un type particulier de conteneurs arborescents. D’autres types de conteneurs existent et sont parfois dépendant du concept pour lequel ils opèrent. On peut citer à titre d’exemple : les arbres n-aires, les forêts d ’arbres, les arbres rouge-noir, les b-arbre Structures de Données, 51

Conteneurs Arborescents  Conteneurs Arborescents Conteneurs Ensembles définition notation / représentations algorithmes de référence conclusion Les arbres ont de très nombreuses applications en informatiques. Nous n’en avons signalé que quelques unes : recherche et mise à jour, analyse syntaxique, dictionnaire, etc … L’écriture fonctionnelle des algorithmes utilisant des schémas récursifs est bien adaptée aux traitements des arborescences et permet d’effectuer simplement la travail d’analyse préalable de l’algorithme. Structures de Données, 52