Java:
public ArrayList<Stack<String>> findPaths(String s,String t){
Stack<String> Path = new Stack<String>();
HashMap<String,ArrayList<Vertex>> allAdj = new HashMap<String,ArrayList<Vertex>>();
for(Vertex v: vertexlist){
doAdjazenzList(v);
allAdj.put(v.name, adjazenz);
adjazenz.clear();
}
HashSet<String> available = new HashSet<String>();
Path.push(s);
available.add(s);
if(s.equals(t))
allpaths.add(Path);
else{
for(Vertex v: allAdj.get(s)){
if(!available.contains(v.name))
findPaths(v.name,t);
}
}
Path.pop();
available.remove(s);
return allpaths;
Hallo,
sei G ein gerichteter Graph mit G=(V,E) , wobei V={s,a,b,c,d,t} und E={(1,2) ; (1,3) ; (2,4) ; (2,6) ;(3,5) ; (5,2) ; (5,6) ; (4,6) }.
Ich möchte mit der obigen Methode alle Pfade von s nach t speichern und dann in der main Methode printen. Wenn ich jedoch in der main Methode printe, dann erscheint nichts in der Konsole, als ob das , was ich printe, leer ist.
Bestimmt ist ein Fehler in der obigen Methode, den ich nicht sehe.
Könnt Ihr mir sagen, wo ich den Fehler gemacht habe ?
Gruß
ILikeJava
Zuletzt bearbeitet: