Graphes

IPA - TD2

  1. Récupérer les fichiers des interfaces GrapheOriente et Arc.
    Ecrire la classe ArcImpl qui implémente Arc.
    Récupérer le fichier de la classe GrapheOrienteImpl et le compléter. Il est recommandé de terminer par les méthodes arcsSortants, arcsEntrants, puis arcs.
  2. Modifier GrapheOriente, Arc et GrapheOrienteImpl pour paramétrer le type des sommets en utilisant la généricité.
  3. Proposer deux interfaces GrapheNonOriente et Arete pour représenter un graphe non orienté.
    Donner une implémententation de ces deux interfaces. Pour implémenter GrapheNonOriente, on utilisera une instance de GrapheOriente dont les arcs sont des instances de la classe ArcArete. Attention à ne pas retourner plusieurs fois la même arête, en particulier dans le cas d'une boucle.
  4. On souhaite maintenant avoir des graphes (non orientés) dessinables.
    1. Proposer une solution utilisant l'héritage. Les sommets seront des instances de Dessin. Les arêtes seront dessinées grâce à une instance de Ligne. Un graphe dessinable sera une instance de l'interface GrapheDessinable.
    2. Proposer une solution utilisant la décoration. Les instances de Dessin et de Ligne seront fournies à l'instanciation du décorateur.