PDA

View Full Version : [Frage] DFS2 -Tiefnsuche für Zusammenhangskomponenten


Merlin
18-05-2004, 14:41
So wie ich das verstehe, dient dieser Algorithmus um alle Zusammenhangskomponenten wiederzugeben.

ALso, wenn ich z.B einen Wald mit vielen Bäumen habe un dich möchte die Anzahl der Bäume haben, würde ich das so machen:

setzte markiert[v] = 0 für alle v aus V
compnum = 0;

für alle v aus V {

solange (makiert(v) == 0) {
compnum = compnum + 1
DFS2(v)
}

}

für i = 0 bis compnum {
Komponente[i] = Liste aller v wo gilt:markiert[v]==compnum
}

gib aus :

"Es gibt" + compnum + " Zusammenhangskomponenten(Bäume)"

oder andere Ausgabe:

für i = 0 bis compnum {
gib aus "Baum" + i + " besteht aus :" Komponente[i]
}

_________
DFS2(v) {

markiert[v] = compnum;

für alle w in N(v) {
falls markiert[w] == 0 DFS2(w)
}