[PDF] Arbres binaires Dans ce contexte il est





Previous PDF Next PDF



Parcours dun arbre binaire

l'ordre postfixe : on liste chaque sommet la dernière fois qu'on le rencontre. Ce qui donne ici : . . . 3. l'ordre infixe : on liste chaque sommet ayant un fils 



Arbres binaires

Pères et fils : le sommet 3 est le père de 7 le sommet 6 est le fils de 2. Il est d'usage de dessiner un arbre en plaçant un père au dessus de ses.



Marches permutations et arbres binaires aléatoires

Les sommets sont nu- mérotés à partir de 0 par ordre de création. On commence avec un arbre réduit à un sommet (numéroté 0). Puis



TP 8 : Arbres binaires de recherche

d'un arbre binaire de manière à lire la structure de l'arbre. si le noeud à enlever a deux fils on le remplace par le sommet de plus petite valeur dans ...



Matrice de ramification des arbres binaires*

A tout sommet d'un arbre binaire on associe son nornbre de S/r-ah/et- puis on considkre une matrice dite de ramification



Arbres

simple : il n'existe pas d'arête reliant un sommet à lui-même et deux Dans un arbre binaire strict tout nœud interne a une arité égale à 2.



Arbres binaires

Dans ce contexte il est fréquent de parler de nœud au lieu de sommet. Autre exemple



Une bijection entre binaires et certaines Jacobi arbres matrices de

Arbres binaires. Dans un arbre binaire (enracine et ordonne) tout sommet different de la racine a un ascendant. Tout sommet interne 0 a deux descendants: un 



Sur le nombre de registres nécessaires à lévaluation dune

d'une expression arithmétique» sur les arbres binaires est étudiée de façon Appelons point simple d'un arbre binaire tout sommet dont un seul fils.



Algorithmique et Structures de données

On appelle arbre binaire complet un arbre binaire tel que chaque sommet interne a exac- tement 2 fils. 1. Donner des exemples d'arbres binaires complets. 2.



[PDF] Parcours dun arbre binaire

A partir de ce contour on définit trois parcours des sommets de l'arbre : 1 l'ordre préfixe : on liste chaque sommet la première fois qu'on le rencontre 



[PDF] Arbres binaires

Un arbre binaire de recherche (en abrégé : ABR) permet l'implémentation sous forme d'arbre binaire de certaines structures de données stockant des éléments 



[PDF] Les arbres binaires — - Pascal Delahaye

16 mai 2019 · Chaque élément de l'arbre est appelé un sommet 2 Chaque sommet renvoyant sur d'autres données (intersection) est appelé un noeud On parle 



[PDF] Cours 4 : Les arbres binaires

Un arbre binaire est constitué de nœuds • Chaque nœud « pointe » vers deux nœuds de l'étage inférieur ?Version récursive • Un arbre binaire peut être 



[PDF] modification Arbre et arborescence Arbres binaires Parcours

23 oct 2014 · Théorème Théorème 4 2: Il existe une bijection qui transforme un arbre planaire ayant n sommet en un arbre binaire complet ayant 2n+1 sommets



[PDF] Feuille 5 : Arbres binaires

On appelle arbre binaire complet un arbre binaire tel que chaque sommet interne a exacte- ment 2 fils 1 Donner des exemples d'arbres binaires complets 2



[PDF] TP 8 : Arbres binaires de recherche - Cedric-Cnam

d'un arbre binaire de manière à lire la structure de l'arbre si le noeud à enlever a deux fils on le remplace par le sommet de plus petite valeur dans 



[PDF] Arbres binaires de recherche - CNU 27 Marseille

On parle dans ce cas d'arbre non planté puisqu'il n'y a pas de sommet particulier qui joue le rôle de racine Les sommets sont voisins les uns des autres il n 



[PDF] Structures de données et algorithmes

conventionnel et il est basé sur un arbre de recherche binaire malgré qu'ils aient le même nombre de sommet (7) leurs structures sont



[PDF] Structures de données: listes piles files arbres binaires

Les arbres binaires I41 : Types de données 58 dépiler(p) p v p v / sommet sommet arbre binaire de recherche d'une valeur relativement à une

  • C'est quoi le sommet d'un arbre binaire ?

    Le sommet de l'arbre s'appelle la racine. Un nœud qui ne poss? pas d'enfant est appelé feuille. Les nœuds autre que la racine et les feuilles sont appelés nœuds internes. Une branche est une suite de nœud consécutifs de la racine vers une feuille.
  • Comment connaître la hauteur d'un arbre binaire ?

    La taille d'un arbre binaire non vide vaut : 1 + taille(sous-arbre gauche) + taille(sous-arbre droit). La hauteur d'un arbre binaire non vide vaut : 1 + max(hauteur(sous-arbre gauche), hauteur(sous-arbre droit)).
  • Quelle est la complexité dans le pire cas de la recherche d'un élément dans un arbre binaire de recherche de hauteur H contenant n nœuds ?

    La complexité en temps dans le pire des cas de l'algorithme de recherche d'une clé dans un arbre binaire de recherche équilibré est donc O(log2(n)).
  • En algorithmique, la rotation d'un arbre binaire de recherche permet de changer la structure d'un arbre binaire de recherche ou ABR sans invalider l'ordre des éléments. Une telle rotation consiste en fait à faire remonter un nœud dans l'arbre et à en faire redescendre un autre.

Chapitre 1option informatique

Arbres binaires

1.

Intr oductionDans son acceptation la plus générale, un arbre est un graphe connexe acyclique enraciné1: tous les sommets,

à l"exception de la racine, ont un unique parent.1 2 56
9103
74
8 1112

Figure1 - Un exemple d"arbre enraciné en 1.

Si une arête mène du sommetiau sommetj, on dit queiest lepèredej, et en conséquence quejest lefilsdei.

Par exemple, le sommet 3 est le père de 7, le sommet 6 est le fils de 2.

Il est d"usage de dessiner un arbre en plaçant un père au dessus de ses fils, si bien que l"on peut sans ambigüité

représenter les arêtes par des traits simples à la place des flèches, ce que l"on fera par la suite2.

Dans ce contexte, il est fréquent de parler denoeudau lieu de sommet. Un noeud qui n"a pas de fils est appelé

unefeuille(ou noeud externe), les autres sont appelés desnoeuds internes. Dans l"exemple ci-dessus, les feuilles

sont les sommets 5, 7, 9, 10, 11, et 12 et les noeuds internes les sommets 1, 2, 3, 4, 6, et 8.

Enfin, on notera que chaque noeud est la racine d"un arbre constitué de lui-même et de l"ensemble de ses

descendants; on parle alors desous-arbrede l"arbre initial. Par exemple, les sommets 2, 5, 6, 9 et 10 constituent

un sous-arbre de l"arbre représenté ci-dessus. 1.1

Définition f ormelled"un arbr ebinair e

On appellearitéd"un noeud le nombre de branches qui en partent3. Dans la suite de notre cours, nous nous

intéresserons plus particulièrement auxarbres binaires, c"est à dire ceux dont chaque noeud a au plus deux fils.

Pour ne pas avoir à distinguer les noeuds suivant leur arité, il est pratique d"ajouter à l"ensemble des arbres

binaires un arbre particulier appelé l"arbre vide. Ceci conduit à adopter la définition qui suit.

Un ensemble E étant donné, on définit par induction les arbres binaires étiquetés par E en convenant que :

-nilest un arbre binaire sur E appelé l"arbre vide;

six2Eet siFgetFdsont deux arbres binaires étiquetés parE, alorsA= (Fg;x;Fd)est un arbre binaire

étiqueté par E.

x

est l"étiquette de laracinedeA; quant àFgetFd, ils sont appelés respectivement lesous-arbre gaucheet le

sous-arbre droitde l"arbre binaire A.

De manière usuelle, on convient de ne pas faire figurer l"arbre vide dans les représentations graphiques

des arbres binaires (voir la figure 2). Ainsi, suivant la représentation choisie les feuilles pourront désigner

exclusivement l"arbre vide (et dans ce cas tous les noeuds seront d"arité égale à 2) ou alors les noeuds dont les

deux fils sont vides (dans ce cas l"arité d"un noeud pourra être égale à 0, 1 ou 2). C"est cette seconde convention

qui sera utilisée dans la suite de ce cours.1. La définition précise de ces termes sera donnée dans le chapitre suivant.

2

. Plus précisément, nous démontrerons qu"une fois la racine choisie, il existe une unique orientation des arêtes qui permette de se

déplacer de la racine vers chacun des autres sommets.

3. sondegré sortant, pour employer le vocabulaire des graphes.

Jean-Pierre Becirspahic

1.2option informatique0

1 1 nilnil2 3 nilnilnil2 nil0 nilnil0 1 12 32
00 1 12 32
0 Figure2 - Trois représentations du même arbre binaire.

Mise en oeuvre pratique

La définition formelle que nous avons adoptée peut se résumer à :

Arbre=nil+ArbrenoeudArbre

et conduit à la définitionCamlsuivante :type"a arbre = Nil | Noeudof("a arbre*"a*"a arbre) ;;1.2F onctionsinductives

Preuve par induction structurelleLa plupart des résultats qui concernent les arbres binaires se prouvent parinduction structurelle, c"est-à-dire en

utilisant le résultat suivant :

Théorème. -SoitRune assertion définie sur l"ensembleAdes arbres étiquetés parE. On suppose que :

(i)R(nil)est vraie; (ii)8x2E,8(Fg;Fd)2A2, l"implicationR(Fg)etR(Fd)=)R(Fg;x;Fd)est vraie; Alors la propriétéR(A)est vraie pour tout arbreAdeA.

De même, de nombreuses fonctionsf:A!F se définissent par la donnée d"un élémenta2F, d"une fonction

': FEF!F et les relations : -f(nil) =a; -8x2E,8(Fg;Fd)2A2,f(Fg;x;Fd) ='(f(Fg);x;f(Fd)). Définition. -LataillejAjd"un arbreAest définie inductivement par les relations : -jnilj= 0;

Si A = (Fg;x;Fd)alorsjAj= 1+jFgj+jFdj.

Lahauteurh(A)d"un arbreAse définit inductivement par les relations : -h(nil) =1;

Si A = (Fg;x;Fd)alorsh(A) = 1+max(h(Fg);h(Fd)).

Avec ces conventions,jAjest le nombre de noeuds d"un arbre eth(A)la longueur maximale du chemin reliant la

racine à une feuille, autrement dit la profondeur maximale d"un noeud. La définitionCamlde ces fonctions est immédiate :letrec taille =function | Nil> 0 | Noeud (fg, _, fd)> 1 + taille fg + taille fd ;; let rec hauteur =function | Nil>1 | Noeud (fg, _, fd)> 1 + max (hauteur fg) (hauteur fd) ;;

Arbres binaires1.3

Autre exemple, pour calculer le nombre de feuilles d"un arbre binaire on utilise la fonction :letrec nb_feuilles =function

| Nil> 0 | Noeud (Nil, _, Nil)> 1

| Noeud (fg, _, fd)> nb_feuilles fg + nb_feuilles fd ;;Théorème. -SoitAun arbre binaire. Alorsh(A)+16jAj62h(A)+11.

Preuve.On raisonne par induction structurelle.

Si A = nil,jAj= 0 eth(A) =1 et le résultat annoncé est bien vérifié.

Si A = ( F

g;x;Fd), supposons le résultat acquis pour Fget Fd. On a : jAj= 1+jFgj+jFdj>1+h(Fg)+1+h(Fd)+1>2+max(h(Fg);h(Fd)) = 1+h(A)

etjAj= 1+jFgj+jFdj62h(Fg)+1+2h(Fd)+11622max(h(Fg);h(Fd))+11 = 2h(A)+111.3Arbr esbinair eséquilibr ésRevenons sur le résultat énoncé dans le dernier théorème, qu"on peut aussi écrire : siAest un arbre binaire alors

log(jAj+1)16h(A)6jAj1. Dans la suite de ce cours nous aurons à plusieurs reprises intérêt à utiliser des

arbres qui, pour une taille donnée, ont une hauteur minimale, autrement dit pour lesquelsh(A) = O(log(jAj)).

De tels arbres seront ditséquilibrés.

Étudions tout d"abord le cas optimalh(A) =log(jAj+1)1, correspondant aux arbres binairescomplets. D"après

la preuve du théorème précédent, pour queA= (Fg;x;Fd)soit complet il faut et il suffit queFgetFdsoient

complets et de même hauteur. Il est dès lors facile d"établir par induction qu"un arbre binaire est complet si et

seulement si toutes ses feuilles sont à la même profondeur.0 1 1 402
322
8 510
37
Figure3 - Un exemple d"arbre binaire complet :jAj= 15 eth(A) = 3.

Cependant, la plupart des arbres binaires que l"on rencontre dans la pratique ne sont pas complets, cette notion

étant trop restrictive; c"est pourquoi on privilégie certaines catégories d"arbres qui garantissent l"équilibrage :

arbres rouge-noir4, arbres AVL, etc.

Par exemple, la catégorie des arbres AVL introduit la notion dedéséquilibre: le déséquilibre d"un arbre

A = (Fg;x;Fd) est égal à l"entierh(Fg)h(Fd). On adopte alors la définition : Définition. -Un arbre binaireAest un arbreAVL5lorsqu"il est vide ou égal à(Fg;x;Fd)avec : -FgetFdsont des arbres AVL; le déséquilibr ede Aest égal à1,0ou1.

Autrement dit, un arbre AVL est un arbre dans lequel le déséquilibre de chaque sous-arbre est égal à1,0ou1.

Théorème. -Tout arbre AVL est équilibré.4. Voir l"exercice 5 à ce sujet.

5. D"après le nom de leurs inventeursAdelson-VelskyetLandis.

Jean-Pierre Becirspahic

1.4option informatique0

0 0 001 01 1000
0 0 001 02 10 Figure4 - L"arbre de gauche est un AVL, pas celui de droite6.

Preuve.On considère la suite deFibonaccidéfinie parf0= 0,f1= 1et la relationfn+2=fn+1+fn. Nous allons

montrer par induction structurelle que tout arbre AVL A de hauteurhcontient au moinsfhnoeuds.

Si A = nilalorsjAj= 0 =f0.

SiA= (Fg;x;Fd), l"un des deux sous-arbresFgouFdest de hauteurh1donc contient au moinsfh1noeuds, l"autre est au moins de hauteurh2donc contient au moinsfh2noeuds. On en déduit queAcontient au moinsfh1+fh2+1 =fh+1 noeuds.

Sachant quefh=('h) avec'=1+p5

2 on en déduit :'h(A)= O(jAj), soith(A) = O(logjAj).2.Arbr esbinair esde r echerche

Un arbre binaire de recherche (en abrégé : ABR) permet l"implémentation sous forme d"arbre binaire de certaines

structures de données stockant des éléments formés d"unecléet d"unevaleur, tels les dictionnaires7. Nous

allons donc considérer un ensemble ordonné de clésCainsi qu"un ensemble de valeursV, et utiliser des arbres

binaires étiquetés par E = CV.

Les arbre binaire de recherche supportent nombre d"opérations qu"on utilise dans les structures de données, en

particulier : la recherched"un valeur associée à une clé donnée; la recherche de la v aleurassociée à la clé maximale(ouminimale);

la recherche dusuccesseurd"une cléc, c"est à dire la valeur associée à la plus petite des clés strictement

supérieures àc; la recherche d uprédécesseurd"une clé; et bien sûr l" insertionou lasuppressiond"un nouveau couple clé/valeur.15 6 4 2 357
13 919
17 1820

Figure5 - Un exemple d"arbre binaire de recherche (seules les clés ont été représentées)

Définition. -un arbre binaireAest un arbre binaire de recherche s"il est vide ou égal à(Fg;(c;v);Fd)où :

-FgetFdsont des arbres binaires de recherche; toute clé de Fgest inférieure (ou égale8) àc;

toute clé de Fdest supérieure (ou égale) àc.6. Les arbres sont étiquetés par leur déséquilibre.

7. Voir le cours de première année.

8. Il serait préférable d"imposer aux clés présentes d"être deux à deux distinctes, mais cela n"est pas toujours vérifié dans la pratique.

Arbres binaires1.5Autrement dit,Aest un arbre binaire de recherche lorsque tout noeud deAest associé à une clé supérieure ou

égale à toute clé de son fils gauche, et inférieure ou égale à toute clé de son fils droit.

Dans la suite du cours, on utilisera le type :type("a, "b) data = {Key : "a; Value : "b} ;;et les arbres binaires de recherche seront représentés par le type("a, "b) data arbre.

2.1

P arcoursinfix ed"un arbr ebinair ede r echerche

La propriété des arbres binaires de recherche permet d"afficher toutes les valeurs de l"arbre par ordre croissant

de clé à l"aide d"unparcours infixe. Rappelons rapidement le principe de l"exploration en profondeur d"un arbre

(Fg;x;Fd): chaque sous-arbre est exploré dans son entier avant d"explorer le second sous-arbre. Le parcours

infixe consiste à parcourir l"arbre dans l"ordre : Fg!x!Fd.

Sitraitementest une fonction de type"b> unit, le parcours infixe d"un arbre binaire de recherche prendra la

forme suivante :letrec parcours_infixe =function | Nil> () | Noeud (fg, x, fd)> parcours_infixe fg ; traitement x.Value ; parcours_infixe fd ;;À l"évidence, le coût temporel de ce parcours est un(n) lorsquen=jAj.

Théorème. -Lors du parcours infixe d"un arbre binaire de recherche, les clés sont parcourues par ordre croissant.

Preuve.On procède par induction :

si A = nil, il n"y a rien à prouver; si A = ( F g;x;Fd), on suppose que les parcours infixes de Fget de Fdse font par ordre de clés croissantes.

Sachant que toute clé deFgest inférieure à la clé dexet toute clé deFdsupérieure à cette dernière, le

parcours Fg!x!Fdest bien effectué par ordre croissant de clé.2.2R equêtesdans un arbr ebinair ede r echerche

quotesdbs_dbs44.pdfusesText_44
[PDF] arbre binaire java

[PDF] retour ? l'unité proportionnalité

[PDF] le timbre d'un son

[PDF] psychologie criminelle cours pdf

[PDF] passage ? l'acte psychologie

[PDF] cours de criminologie générale pdf

[PDF] livre criminologie pdf

[PDF] tétraèdre régulier propriétés

[PDF] passage ? l'acte

[PDF] tétraèdre propriétés

[PDF] grille d'estimation de la dangerosité d'un passage ? l'acte suicidaire pondération

[PDF] intervenir auprès de la personne suicidaire ? l'aide de bonnes pratiques

[PDF] grille estimation dangerosité suicidaire

[PDF] grille d'évaluation de l'urgence suicidaire

[PDF] rapport d'intervention auprès de la personne suicidaire