--- aliases: - arbre --- up::[[structure de données]], [[graphe]] #maths #informatique/algorithmie --- Un arbre est une [[structure de données]] # Définition récursive Un arbre est défini comme une valeur, et une liste de sous-arbres. On appelle ce couple (valeur, liste de sous arbre) un **noeud** On considère généralement aussi l'arbre _nul_ (qui ne possède aucun noeuds) comme un arbre également. ## Détails d'implémentation Pour une implémentation, on considère généralement un arbre comme une valeur et une liste (éventuellement vide) de sous-arbre # Définition mathématique ## En théorie des graphes Un _arbre_ un [[graphe]] **acyclique** (qui ne possède aucun [[cycle (théorie des graphes)|cycle]]) et [[connexité (théorie des graphes)|connexe]]. ## Avec des relations Un _arbre_ est la donnée d'un ensemble $E$ et d'une [[relation]] [[relation symétrique|symétrique]] $\mathscr R$ sur $E$ telle que deux points distincts quelconques $x$ et $y$ de $E$ soient reliés par un seul chemin injectif fini, c.a.d $n+1$ points $z_0,\ldots,z_n$ de $E$ vérifiant $z_0 = x$, $\forall i 1 0 --> 2 0 --> 3 1 --> 4 1 --> 5 2 --> 6 2 --> 7 2 --> 8 2 --> 9 3 --> 10 4 --> 11 6 --> 12 6 --> 13 7 --> 14 10 --> 15 11 --> 16 16 --> 17 ``` Dans cet arbre : - ` 0 ` est la **racine** - ` 4 ` et ` 5 ` sont les **enfants** de ` 1 ` - ` 2 ` est un noeud de **degré** 4 - ` 12 ` à une **profondeur** de 3 L'arbre à une **hauteur** de 5