ioCode
Parcours en largeur
Graphes • Exercices 1A
Le code qui construit une file d'attente est donné pour être utilisé par la question 1.
- Écrire une fonction1IndiceUtiliser un tableau booléen pour marquer les sommets déjà explorés puis définir une fonction récursive qui concatène les voisins non visités à la queue.
bfs_file : 'a list array -> 'a -> 'a listqui renvoie la liste des sommets visités lors d'un parcours en largeur à partir d'un sommet de départ, en utilisant une approche impérative avec le typefilefourni. Par exemplebfs [[1;2];[0;2];[0;1]] 0renvoie[0; 1; 2]. - Écrire une fonction2IndiceInitialiser une file avec le sommet de départ puis utiliser une boucle impérative pour défiler les sommets et enfiler leurs voisins avant d'inverser le résultat.
bfs : 'a list array -> 'a -> 'a listqui renvoie la liste des sommets visités lors d'un parcours en largeur à partir d'un sommet de départ, en utilisant une approche récursive sur les listes. Par exemplebfs [[1;2];[0;2];[0;1]] 0renvoie[0; 1; 2].
Langage
Console initialisée. En attente de l'interpréteur...