17 lines
1.1 KiB
Markdown
17 lines
1.1 KiB
Markdown
|
|
|
|||
|
|
**Principe**
|
|||
|
|
Ce que en informatique on nomme _arbre_ est une évolution directe du concept de liste chaînée. Il suffit pour cela de permettre à chaque maillon de contenir plusieurs références à d'autres maillons. On interdit cependant les références circulaires pour en simplifier le parcours.
|
|||
|
|
|
|||
|
|
![[Pasted image 20260203092554.png]]
|
|||
|
|
|
|||
|
|
Un maillon est nommé _nœud_ dans cette nouvelle structure. L'élément qu'il contient est son _étiquette_.
|
|||
|
|
|
|||
|
|
Par analogie avec les arbres généalogiques, un nœud contenant une référence est appelé _nœud parent_ et le nœud référencé est appelé _nœud enfant_. Par analogie avec les véritables arbres, le nœud de départ est nommé _racine_ et les nœuds sans enfants sont nommés _feuilles_.
|
|||
|
|
|
|||
|
|
Les arbres _homogènes_ contiennent des nœuds d'une seule classe. Les arbres _hétérogènes_ permettent plusieurs classes de nœuds (en Java, par substitution).
|
|||
|
|
|
|||
|
|
Un arbre est _binaire_ si aucun de ses nœuds ne peut avoir plus de deux enfants.
|
|||
|
|
|
|||
|
|
Les différentes façon de lire un arbre :
|
|||
|
|
|
|||
|
|
![[Pasted image 20260203092621.png]]
|