cours/arbre.md
Oscar Plaisant 66e51047be update
2024-03-28 12:21:04 +01:00

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 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