Adloun

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

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →