Files
DEV/DEV.3.2/cours/7.Arbres.md

17 lines
1.1 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<sujet de tp>/arbres.sozi.html
**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 20260203092041.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 20260203091755.png]]