Exercices de programmation pour classes préparatoires
Écrire une fonction bfs_distances : int list array -> int -> int array qui, étant donné un graphe et un sommet s, renvoie le tableau des distances (en nombre d'arêtes) de s vers chaque sommet.
Représentation : le graphe est un tableau adj de type int list array (listes d'adjacence). Les sommets sont numérotés de 0 à n-1 où n = Array.length adj.
Pour les sommets inaccessibles depuis s, on met -1 dans le tableau.
On utilisera le module Queue de la bibliothèque standard. La distance de s à lui-même vaut 0.
| Appel | Résultat attendu |
|---|---|
| bfs_distances [| [1; 2]; [0]; [0] |] 0 | [|0; 1; 1|] |
| bfs_distances [| [1]; [0]; [] |] 0 | [|0; 1; -1|] |
Connectez-vous pour soumettre du code.