TAD de los grafos: Número de vértices
Usando el tipo abstracto de datos de los grafos, definir la función,
1 |
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,
1 2 |
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.
1 2 3 4 5 6 7 |
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 |
1 2 3 4 5 |
from src.TAD.Grafo import Grafo, Orientacion, creaGrafo_, nodos def nVertices(g: Grafo) -> int: return len(nodos(g)) |