BigLyumineBrother vous avait demandé de lui écrire,
pour utilisation dans son département
de gestion des données sur les Lyumines,
une classe GrapheDesConnaissances (voir les TD 8 et 9).
Vous souhaiter à présent rendre votre programme
plus adapté à des extensions possibles (qui seront
faites éventuellement par d'autres personnes que vous).
En conséquence, vous décidez de modifier
le code pour faire appel aux classes de l'API plutôt qu'à votre classe
personnelle Liste.
Vous choisissez d'implanter le graphe de connaissances
par une table : vous utiliserez
la classe HashMap de l'API Java.
Les clés seront des <<String>>
(les noms des Lyumines),
et les valeurs seront des ensembles de <<String>>,
implantés par la classe HashSet de l'API.
Les méthodes de la classe GrapheDesConnaissances
ne changent pas. Ce sont toujours :
GrapheDesConnaissances () : construit un graphe vide.
void ajouterNoeud(String nom)
boolean contient(String nom) :
teste si le graphe contient un noeud de label nom.
void ajouterConnaissance(String from, String to) :
ajoute un arc du noeud de label from vers le noeud
de label to.
boolean connaissance(String from, String to)
teste si le graphe contient un arc de from vers to.
String toString() : description du graphe sous forme
de chaine de caractères.
2 Chaînes de connaissances (facultatif)
BigLyumineBrother souhaite disposer d'un outil
lui permettant d'évaluer la rapidité possible
de transmission d'une information parmi les Lyumines.
Vous commencez par lui proposer de savoir
déterminer s'il existe une chaîne
de connaissances d'un Lyumine L vers un Lyumine L'.
Écrivez la méthode <<boolean existenceChaine(String from, String to)>>
correspondante pour la classe GrapheDesConnaissances.