Adloun

algorithmique (école d'ingénieur) · Chapitre 7 · Exercice de TD

Afficher un graphe

Graphes sans circuit et ordonnancement de projets · niveau 1 (application)

Énoncé

Un réseau de bus dessert villes ; il est représenté par le tableau de listes d'arcs Liste[] G avec , , , et .

  • Écrire les instructions Java qui construisent ce graphe.
  • Écrire une fonction void afficher(Liste[] G) qui affiche le graphe sous la forme ci-dessous (une ligne par sommet, suivie de ses successeurs).

0 : 1 3 4
1 : 2 4
2 : 3 4
3 : 4
4 :

Corrigé

Les listes se construisent de la fin vers le début :


Liste[] G = new Liste[5];                    // cinq listes vides (null)
G[0] = new Liste(1, new Liste(3, new Liste(4, null)));
G[1] = new Liste(2, new Liste(4, null));
G[2] = new Liste(3, new Liste(4, null));
G[3] = new Liste(4, null);

static void afficher(Liste[] G) {
    for (int i = 0; i < G.length; i++) {     // pour chaque sommet i
        System.out.print(i + " :");
        for (Liste l = G[i]; !vide(l); l = reste(l))
            System.out.print(" " + premier(l)); // les successeurs de i
        System.out.println();
    }
}

Chaque sommet et chaque arc est touché une fois : l'affichage est en .

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →