TAD de los grafos - Número de vértices
Usando el tipo abstrado 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.
Soluciones en Haskell
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
Soluciones en Python
from src.TAD.Grafo import Grafo, Orientacion, creaGrafo_, nodos def nVertices(g: Grafo) -> int: return len(nodos(g))