Menu Close

Día: 26 de mayo de 2023

TAD de los grafos: Número de vértices

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.


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))