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:
Bout de code:
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
Ce code ne fonctionne pas car m'affiche comme erreur StackOverflowError
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); }
J'ai besoin de vos aides [conseil, correction...].
Merci à vous.
Partager