Arborescence (informatique)

Arborescence

Une arborescence permet d'organiser les données en mémoire ou sur disque, de manière logique et hiérarchisée. C'est un cas pratique d'utilisation de la 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.

Sommaire

Usage pour la gestion des disques

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

Les différentes façons de linéariser une arborescence

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.

Arité

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

Types de parcours

Préfixe

Dans ce mécanisme, le parent est mis en premier, puis suivent ses enfants. L'ordre/commande est par devant, les éléments complémentaires ensuite. Voir aussi l'exemple linguistique VSO. Exemple : + 2 3

Cette notation est simple à comprendre pour l'être humain et se programme facilement.

Infixe

Dans ce mécanisme, le parent est inséré entre ses enfants. Les Mathématiques et la logique humaine procèdent souvent ainsi. Sujet Verbe Complément. Exemple : 2 + 3

Le gros problème de l'infixe est l'ambiguïté et on doit souvent recourir à des parenthèses. Ainsi 10+20*30 doit-il s'analyser comme (10+20)*30 ou comme 10+(20*30) ? Pour lever une partie des difficultés, il existe une priorité des opérateurs dans bon nombre de langages.

Suffixe

Le parent est mis après ses enfants. Cette logique semble bien peu humaine mais elle est très utilisée en informatique, pile, Forth, machine virtuelle Java, Postscript et autres. Exemple : 2 3 +

Cette notation est ardue pour l'être humain mais très facile à mettre en place d'un point de vue informatique ou automate. Le langage des sourds-muets possède une syntaxe assez proche de ce type de notation : il plante le décor avant, positionne les acteurs puis indique l'action en dernier.

Notation

Arité fixe
  • Préfixe, arité fixe
    • + 2 3
    • père Alain Bernard
    • mange chat souris
  • Infixe, arité fixe
    • 2 + 3
    • Alain est_le_père_de Bernard
    • chat mange souris
  • Suffixe, arité fixe
    • 2 3 +
    • Alain Bernard père
    • chat souris mange
Arité variable
  • Préfixe, arité variable
    • (+ 2 3 4)
    • add(2,3,4)
    • printf("%d %d %s",n,m,t)
    • begin ... end
    • add:3 20 30 40 (on indique le nombre d'arguments)
    • add 3 20 30 40 (le 1er argument indique l'arité utile)
  • Infixe, arité variable
    • a-b (soustraction) -b (négatif)
    • a*b (multiplication) *b (contenu du pointeur en langage C)
  • Suffixe, arité variable
    • (2 3 4 +)
    • marqueurpile 2 3 4 add
    • 20 30 40 add:3
    • 20 30 40 3 add (le dernier argument indique l'arité utile)
  • Autre système - Arbo graphique
    • \ : 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)
    • Exemple : 2*3*4+5*6 → préfixage -add\mul\2-3/4\mul\5/6
  • Autre système - Taaluketti (langue artificielle; ce système est très proche du précédent dans sa logique)
    • Mécanisme suffixé, avec des suffixes pour indiquer l'arité.
    • aucun suffixe : élément seul
    • -s : élément le plus à gauche et non unique
    • -n : élément le plus à droite et non unique
    • -k : élement médiant, ni le plus à gauche, ni le plus à droite
    • ba be → (ba)be • bas ben bi → (ba be)bi • bas bek bin bo → (ba be bi)bo • bas bek bik bon bu → (ba be bi bo)bu
  • Autre système - Infixe+niveau
    • On ajoute le numéro de niveau avant ou après
    • 0 signifie que c'est une feuille ou un symbole terminal
    • deux plus trois → deux0 plus1 trois0
    • deux plus (trois fois quatre) → deux0 plus2 trois0 fois1 quatre
    • (deux plus trois) fois quatre → deux0 plus1 trois0 fois2 quatre0

Voir aussi

Wiktprintable without text.svg

Voir « arborescence » sur le Wiktionnaire.

  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Arborescence ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Arborescence (informatique) de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • arborescence — ● n. f. ►TYPE Voir arbre (arborescence en est généralement une variante un tantinet pédante) …   Dictionnaire d'informatique francophone

  • Arborescence — En mathématiques, plus précisément dans la 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 tous les autres sommets[1]. En… …   Wikipédia en Français

  • Dossier (informatique) — Répertoire (informatique) Pour les articles homonymes, voir Répertoire. En informatique, un répertoire est une liste de descriptions de fichiers. Du point de vue du système de fichiers, il est traité comme un fichier dont le contenu est la liste… …   Wikipédia en Français

  • Repertoire (informatique) — Répertoire (informatique) Pour les articles homonymes, voir Répertoire. En informatique, un répertoire est une liste de descriptions de fichiers. Du point de vue du système de fichiers, il est traité comme un fichier dont le contenu est la liste… …   Wikipédia en Français

  • Répertoire (informatique) — Pour les articles homonymes, voir Répertoire. En informatique, un répertoire est une liste de descriptions de fichiers. Du point de vue du système de fichiers, il est traité comme un fichier dont le contenu est la liste des fichiers référencés.… …   Wikipédia en Français

  • Fichier Informatique — En informatique, un fichier est un lot d informations portant un nom et conservé dans une mémoire. Les fichiers sont la plupart du temps conservés sur des mémoires de masse tels que les disques durs. Les mémoires de masse permettent de conserver… …   Wikipédia en Français

  • Fichier informatique — En informatique, un fichier est un lot d informations portant un nom et conservé dans une mémoire. Les fichiers sont la plupart du temps conservés sur des mémoires de masse tels que les disques durs. Les mémoires de masse permettent de conserver… …   Wikipédia en Français

  • Commande informatique — Pour les articles homonymes, voir Commande. Exemples de commandes sous Windows 98 Une commande informatique est un mot ou une phrase à la syntaxe bien particulière entré dans un …   Wikipédia en Français

  • Menu (informatique) — Pour les articles homonymes, voir Menu. Environnement de bureau KDE et son menu. En informatique, un menu est un élément graphique, généralement rectangulair …   Wikipédia en Français

  • Litterature informatique — Littérature informatique Les relations entre « écriture littéraire » et « informatique » s’organisent selon trois dimensions. La première s’intéresse à l’informatique comme source d’inspiration, la deuxième concerne… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”