2.0 KiB
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)) et connexité (théorie des graphes).
Avec des relations
Un arbre est la donnée d'un ensemble E
et d'une relation
relation 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<n, z_i \mathscr R z_{i+1}
et z_n = y
.
Propriétés
- racine : la racine d'un arbre est le noeud que l'on définit comme celui de "départ".
- Dans la définition récursive, c'est celui qui contient tous les sous-arbres
- hauteur : la profondeur maximale d'un arbre
- Un arbre à un seul noeud à une hauteur de 0
- Un arbre nul à une hauteur de -1
- profondeur : la profondeur d'un noeud est la longueur du chemin le plus court qui le mène à la racine de l'arbre
- degré d'un noeud : le nombre d'enfants de ce noeud
Exemple
graph TD
0 --> 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 racine4
et5
sont les enfants de1
2
est un noeud de degré 412
à une profondeur de 3
L'arbre à une hauteur de 5