TAD de los grafos - Recorrido en profundidad
Usando el tipo abstrado de datos de los grafos, definir la función
recorridoEnProfundidad :: (Num p, Eq p, Ix v) => v -> Grafo v p -> [v]
tal que recorridoEnProfundidad i g
es el recorrido en profundidad del grafo g
desde el vértice i
. Por ejemplo, en el grafo
+---> 2 <---+ | | | | 1 --> 3 --> 6 --> 5 | | | | +---> 4 <---------+
definido por
grafo1 :: Grafo Int Int grafo1 = creaGrafo' D (1,6) [(1,2),(1,3),(1,4),(3,6),(5,4),(6,2),(6,5)]
entonces
recorridoEnProfundidad 1 grafo1 == [1,2,3,6,5,4]