En mathématiques, plus précisément en théorie des graphes, une arborescence est un arbre comportant un sommet particulier r, nommé racine de l'arborescence à partir duquel il existe un chemin unique vers tout les autres sommets.
En informatique, cette notion désigne souvent celle d'arbre de la théorie des graphes. Une arborescence désigne alors généralement une organisation des données en mémoire, de manière logique et hiérarchisée utilisant une structure algorithmique d'arbre. Cette organisation rend plus efficaces la consultation et la manipulation des données stockées. Les usages les plus courants en sont :
La logique générale de l'arborescence coïncide avec le modèle relationnel du SQL : 1 vers N et réciproquement 1 vers 1. Un noeud peut posséder N feuilles, mais chaque feuille ne possède qu'un seul noeud.
À la base d'une arborescence se trouve un répertoire appelé la racine. Ce répertoire peut contenir des fichiers et des répertoires, qui eux-mêmes peuvent contenir la même chose.
Si les fichiers et les répertoires sont placés de manière cohérente, la recherche de fichier est relativement aisé et rapide.
Plus simplement, l'arité indique le nombre d'arguments ou d'enfants utiles ou nécessaires à une fonction ou un parent. Ainsi dans 10+20, l'addition (+) a besoin d'un terme à gauche (10) puis d'un autre à droite (20), son arité est donc de 2. Dans abs(mavar), la valeur absolue n'a besoin que d'un seul argument (mavar), son arité est de 1. En Prolog, la clause pere(alain,bernard). a une arité de 2 car la relation "pere" exige un parent et fatalement un enfant.
L'arité peut être fixe comme elle peut être variable. Ainsi l'opérateur * est d'arité fixe à 2 dans la plupart des langages informatiques, on écrit 2*3 pour exprimer un calcul. Par contre, en Lisp, on peut écrire (* 2 3 4) pour exprimer 2*3*4 ou bien (* 2 3 4 5) ce qui est une arité variable.
Le gros problème est qu'une arborescence est souvent représentée sous la forme d'un arbre graphique et que le langage et l'écriture classique sont linéaires. Depuis longtemps, différents types de représentation co-existent, selon la méthode de parcours utilisée et le domaine d'application.
\ : descendre, indique le 1er enfant/ : remonter, indique le dernier enfant- : rester sur le même niveau, les enfants intermédiaires, implicitement le 1er parent| : arité 1, descendre puis remonter (en cas d'enfant unique)