In realtà, se il grafo è connesso (cioè se da qualsiasi nodo se ne può raggiungere un altro), basta una sola DFS per visitarlo tutto. Se, al limite, non lo è, sarà diviso in tanti grafini più piccoli separati tra loro: in questo caso, basta scegliere un nodo per ognuno e fare una DFS per ogni nodo scelto. In termini più semplici, se il grafo ha N è diviso in P pezzi (magari uno), bastano P visite.Originariamente inviato da ChiaraMorgana
Per fare il giro di tutti i nodi basta usare la dfs,(depth first search) che tiene conto dei nodi gia' visitati... pero' non trova tutti i cicli... bisognerebbe farla tante volte quanti sono i nodi... un sacco di tempo!
Chiara
Per sapere se un pezzo è stato visitato o meno, basta creare una lista NNV dei nodi non ancora visitati. Dopo averla riempita con tutti i nodi, basta far partire la DFS dal primo, eliminando da NNV tutti i nodi toccati: in questo modo in NNV restano solo i nodi degli altri pezzi. Scelto un altro nodo, si visiterà il pezzo successivo... e così via.
Almeno credo...![]()
![]()

Rispondi quotando