Salve,
ho realizzato la struttura di un grafo in haskell per l'università, il problema è che mi viene richiesto di sviluppare anche un algoritmo di visita (e mi è stato caldamente consigliato di sviluppare il dfs) ma non so davvero da dove cominciare.
Fare la struttura è stato abbastanza facile ma per la visita ad ogni passo dell'algoritmo mi blocco, forse perchè l'algoritmo che ho studiato io era orientato ai linguaggi imperativi (i vari marcalo come visitato, come faccio a marcarlo come visitato se non ho variabili?) e non a quelli funzionali.
Il tipo grafo l'ho dichiarato in questa maniera, vi allego anche la "firma" dei metodi realizzati:
voi come la realizzereste la dfs?codice:type Nodo = Int type Arco = (Nodo,Nodo) type Grafo = ([Nodo],[Arco]) esisteArco :: Arco -> Grafo -> Bool inserisciArco :: Arco -> Grafo -> Grafo cancellaArco :: Arco -> Grafo -> Grafo adiacente :: Nodo -> Grafo -> [Nodo] esisteNodo :: Nodo -> Grafo -> Bool grafoVuoto :: Grafo -> Bool![]()
Vi ringrazio in anticipo,
Neptune.