Salut à tous,

J'ai un graphe orienté et je souhaite parcourir les arcs [chaque arc visité une seule fois] de ce graphe mais je suis un peu bloqué je présente l'algorithme que j'essaie d'appliquer et aussi mon début de code.
Algorithme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
 procedure DFS(G, v):
     label v as explored
     for all edges e in G.incidentEdges(v) do
       if edge e is unexplored then
             w = G.adjacentVertex(v, e)
             if vertex w is unexplored then
                 label e as a discovered edge
              recursively call DFS(G, w)
             else
               label e as a back edge
Bout de code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
public ArrayList<Noeud> oneTour(Noeud <T> s,ArrayList<Noeud> ch){
		ArrayList<Arc<T>> chemin=new ArrayList<>();
		ch=new ArrayList<>();
		ch.add(s);
		s.setMarque(true);
		List<Arc<T>> out=s.getOutArcList();
		for(Arc<T>e :out){
			Noeud<T> w= e.getTo();
			if((e.mark==false)){
				chemin.add(e);
				ch.add(w);
			}
			oneTour(w,ch);
 
		}
Ce code ne fonctionne pas car m'affiche comme erreur StackOverflowError
J'ai besoin de vos aides [conseil, correction ...].
Merci à vous.