Remove ads
type de structure de données organisées comme un graphe acyclique orienté enraciné De Wikipédia, l'encyclopédie libre
En théorie des graphes, un arbre enraciné ou une arborescence est un graphe acyclique orienté possédant une unique racine, et tel que tous les nœuds sauf la racine ont un unique parent.
En informatique, c'est également une structure de données récursive utilisée pour représenter ce type de graphes.
Dans un arbre, on distingue deux catégories d'éléments :
La racine de l'arbre est l'unique nœud ne possédant pas de parent. Les nœuds (les pères avec leurs fils) sont reliés entre eux par une arête. Selon le contexte, un nœud peut désigner un nœud interne ou externe (feuille) de l'arbre.
La profondeur d'un nœud est la distance, i.e. le nombre d'arêtes, de la racine au nœud[note 1]. La hauteur d'un arbre est la plus grande profondeur d'une feuille de l'arbre. La taille d'un arbre est son nombre de nœuds (en comptant les feuilles ou non), la longueur de cheminement est la somme des profondeurs de chacune des feuilles.
Les arbres peuvent être étiquetés. Dans ce cas, chaque nœud possède une étiquette, qui est en quelque sorte le « contenu » du nœud. L'étiquette peut être très simple : un nombre entier, par exemple. Elle peut également être aussi complexe que l'on veut : un objet, une instance d'une structure de données, un pointeur, etc. Il est presque toujours obligatoire de pouvoir comparer les étiquettes selon une relation d'ordre total, afin d'implanter les algorithmes sur les arbres.
Les fichiers et dossiers dans un système de fichiers sont généralement organisés sous forme arborescente. Voir par exemple la FHS.
Les arbres sont en fait rarement utilisés en tant que tels, mais de nombreux types d'arbres avec une structure plus restrictive existent et sont couramment utilisés en algorithmique, notamment pour gérer des bases de données, ou pour l'indexation de fichiers. Ils permettent alors des recherches rapides et efficaces. Nous vous en donnons ici les principaux exemples :
Pour construire un arbre à partir de cases ne contenant que des informations, on peut procéder de l'une des trois façons suivantes :
On note qu'il existe d'autres types de représentation propres à des cas particuliers d'arbres. Par exemple, le tas est représenté par un tableau d'étiquettes.
Les parcours d'arbre sont des processus de visites des sommets d'un arbre, par exemple pour trouver une valeur.
Le parcours en largeur correspond à un parcours par niveau de nœuds de l'arbre. Un niveau est un ensemble de nœuds internes ou[note 2] de feuilles situés à la même profondeur — on parle aussi de nœud ou de feuille de même hauteur dans l'arbre considéré. L'ordre de parcours d'un niveau donné est habituellement conféré, de manière récursive, par l'ordre de parcours des nœuds parents — nœuds du niveau immédiatement supérieur.
Ainsi, si l'arbre précédent est utilisé, le parcours sera A, B, C, D, E, F puis G.
Le parcours en profondeur est un parcours récursif sur un arbre. Dans le cas général, deux ordres sont possibles :
Pour les arbres binaires, on peut également faire un parcours infixe, c'est-à-dire traiter le nœud courant entre les nœuds gauche et droit. Ainsi, si l'arbre précédent est utilisé, le parcours sera D, B, E, A, F, C puis G.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.