Hallo allerseits,
gegeben sei ein Baum.
Realisiert wird dies dadurch, dass in jedem Noten ein Verweis für jeden Nachfolgeknoten enthalten ist.
Dies kann man durch eine entsprechende, selbstgebastelte Klasse (Datenstruktur) realisieren.
(ich will keine vorgefertigte Klasse aus der Entwicklungsumgebung).
Wenn man in dem Baum alle Pfade (von der Wurzel an alle Blätter) durchlaufen will, so kann man das wie folgt ohne Rekursion, rein iterativ machen (grob beschrieben):
Gehe zum nächsten freien Knoten.
"Markiere" ihn.
Wenn man an einem Blatt angekommen ist, wird es markiert, dann geht man zum Vorgängerknoten und dort zum nächsten freien Blatt (das man markiert)
Das macht man so lange, bis alle Knoten des Baums markiert sind.
Bemerkung (zur Markierung):
Ein Knoten zeigt auf allen Nachfolgeknoten. Deshalb kann ein Knoten so viele Markierungen haben, wie er Nachfolgeknoten hat.
Allerdings muss man dann die Datenstruktur des Baums abändern, die der Programmierer des Baums gemacht hat.
D.h. ich muss die Datenstruktur des Baums durch die Hinzunahme (Implementierung) der Markierungen verändern.
Frage:
Kann man das auch machen, ohne die vorgegebene Datenstruktur eines Knotens abzuändern ?
mfg
ern
gegeben sei ein Baum.
Realisiert wird dies dadurch, dass in jedem Noten ein Verweis für jeden Nachfolgeknoten enthalten ist.
Dies kann man durch eine entsprechende, selbstgebastelte Klasse (Datenstruktur) realisieren.
(ich will keine vorgefertigte Klasse aus der Entwicklungsumgebung).
Wenn man in dem Baum alle Pfade (von der Wurzel an alle Blätter) durchlaufen will, so kann man das wie folgt ohne Rekursion, rein iterativ machen (grob beschrieben):
Gehe zum nächsten freien Knoten.
"Markiere" ihn.
Wenn man an einem Blatt angekommen ist, wird es markiert, dann geht man zum Vorgängerknoten und dort zum nächsten freien Blatt (das man markiert)
Das macht man so lange, bis alle Knoten des Baums markiert sind.
Bemerkung (zur Markierung):
Ein Knoten zeigt auf allen Nachfolgeknoten. Deshalb kann ein Knoten so viele Markierungen haben, wie er Nachfolgeknoten hat.
Allerdings muss man dann die Datenstruktur des Baums abändern, die der Programmierer des Baums gemacht hat.
D.h. ich muss die Datenstruktur des Baums durch die Hinzunahme (Implementierung) der Markierungen verändern.
Frage:
Kann man das auch machen, ohne die vorgegebene Datenstruktur eines Knotens abzuändern ?
mfg
ern