TAD de los grafos - Nodos aislados de un grafo
Dado un grafo dirigido G, diremos que un nodo está aislado si o bien de dicho nodo no sale ninguna arista o bien no llega al nodo ninguna arista. Por ejemplo, en el siguiente grafo
grafo1 :: Grafo Int Int grafo1 = creaGrafo' D (1,6) [(1,2),(1,3),(1,4),(3,6), (5,4),(6,2),(6,5)]
podemos ver que del nodo 1 salen 3 aristas pero no llega ninguna, por lo que lo consideramos aislado. Así mismo, a los nodos 2 y 4 llegan aristas pero no sale ninguna, por tanto también estarán aislados.
Usando el tipo abstrado de datos de los grafos, definir la función
aislados :: (Ix v, Num p) => Grafo v p -> [v]
tal que aislados g
es la lista de nodos aislados del grafo g
. Por ejemplo,
aislados grafo1 == [1,2,4]