Usando el tipo abstracto de datos de los grafos, definir la función,
nVertices :: (Ix v, Num p) => Grafo v p -> Int |
tal que nVertices g
es el número de vértices del grafo g
. Por ejemplo,
nVertices (creaGrafo' D (1,5) [(1,2),(3,1)]) == 5 nVertices (creaGrafo' ND (2,4) [(1,2),(3,1)]) == 3 |
Soluciones
A continuación se muestran las soluciones en Haskell y las soluciones en Python.
module Grafo_Numero_de_vertices where import TAD.Grafo (Grafo, Orientacion (D, ND), nodos, creaGrafo') import Data.Ix nVertices :: (Ix v, Num p) => Grafo v p -> Int nVertices = length . nodos |
from src.TAD.Grafo import Grafo, Orientacion, creaGrafo_, nodos def nVertices(g: Grafo) -> int: return len(nodos(g)) |