Baum durchlaufen
-
Hallo mein Problem ist folgendes:
ich müsste einen (natürlichen) Baum durchlaufen bis ich ein bestimmtes Element gefunden habe, anschließend muss ich wieder zurück zur Wurzel.
Die Daten sind in keiner Hinsicht sortiert im Baum.Wie stelle ich das am geschickstesten an?
Im Moment denke ich dran ein Zeiger auf den Parentknoten mitzugeben aber es dürfte ja auch anders gehen (Alte Knoten auf einen Sack eventuell?)Wenn ihr einen guten Vorschlag habt ... immer her damit is ja Weihnachten
-
shisha schrieb:
ich müsste einen (natürlichen) Baum durchlaufen
Ordentlich Anlauf nehmen und einen Helm aufsetzen. Holz ist zwar recht stabil, aber so könnte es klappen.
shisha schrieb:
bis ich ein bestimmtes Element gefunden habe, anschließend muss ich wieder zurück zur Wurzel.
Sowas ist rekursiv am einfachsten:
funktion lauf (baum) rückgabe = wert dieses knotens für jeden Kindknoten: temp = lauf(kindknoten) wenn temp > rückgabe: rückgabe = temp ende ende return rückgabe ende
Oder so ähnlich.
-
µngbd schrieb:
shisha schrieb:
ich müsste einen (natürlichen) Baum durchlaufen
Ordentlich Anlauf nehmen und einen Helm aufsetzen. Holz ist zwar recht stabil, aber so könnte es klappen.
Mit diesem Heml könnte es gehen. http://www.elvenforge.com/images/helm_gondor_UC1414.jpg
-
Ist schon richtig was du gesagt hast, ein Zeiger auf einen Parentknoten mitgeben und über den kannst du dich dann entweder per rekursion oder iterativ nach oben Hangeln.
-
Firefighter schrieb:
Ist schon richtig was du gesagt hast, ein Zeiger auf einen Parentknoten mitgeben und über den kannst du dich dann entweder per rekursion oder iterativ nach oben Hangeln.
Wenn du sowieso in beide Seiten verlinkt bist, kannst du dir die Rekursion gleich sparen, und stacklos durchlaufen. Wenn du andererseits beim Durchlaufen einen Stack anlegst, ist die Wurzel als unterstes auf dem Stack, und du brauchst die Parent-Links nicht.
-
Einfach über den einfachsten Weg...
Einfach ein paar Schleifen/Sägen und dazu einen Schuss 0-Zeiger...
Sehr voidig so: (in pseudo)