algorithmique (école d'ingénieur) · Chapitre 9 · Exercice de TD
Visualiser un arbre avec Graphviz
Arbres binaires de recherche de coût minimum · niveau 1 (application)
Énoncé
Le logiciel Graphviz (site graphviz.org) dessine un graphe décrit par la liste de ses arcs, par exemple :
digraph abr { 6 -> 3; 6 -> 8; 3 -> 1; 3 -> 4; 1 -> 0; 1 -> 2; 4 -> 5; 8 -> 7; }
Écrire une fonction récursive void arcs(AB a) qui affiche les arcs de l'arbre sous cette forme, et l'appliquer à l'abr de coût minimum du cours ().
Corrigé
Un arc relie chaque racine à chacun de ses sous-arbres non vides ; on traite la racine puis, récursivement, les deux sous-arbres.
static void arcs(AB a) {
if (vide(a)) return; // pas d'arc
if (!vide(sag(a))) System.out.print(vr(a) + " -> " + vr(sag(a)) + "; ");
if (!vide(sad(a))) System.out.print(vr(a) + " -> " + vr(sad(a)) + "; ");
arcs(sag(a)); arcs(sad(a)); // les arcs des sous-arbres
}
// appel : System.out.print("digraph abr { "); arcs(a); System.out.println("}");
digraph abr { 6 -> 3; 6 -> 8; 3 -> 1; 3 -> 4; 1 -> 0; 1 -> 2; 4 -> 5; 8 -> 7; }
Un arbre de valeurs a arcs ; la fonction est en .
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.