Hallo,
Tut mir leid so eine vermutlich simple Frage zu stellen, aber ich bin so langsam total am verzweifeln.
Folgendes Problem:
Ich habe einen Binär-Baum, dessen Blätter/Knoten bestimmte Merkmale enthalten. Derzeit brauche ich eine Such-Function, die rekursiv ein Blatt mit einer bestimmten Eigenschaft sucht.
Vereinfachtes Beispiel:
- Der Baum beinhaltet in jedem Knoten/Blatt einen Character (keine duplikate) und eine ID für diesen
Ich suche nun nach der ID für einen Char, als muss ich besagten charakter im baum finden.
Leider kriege ich die verdammte Rekursion überhaupt gar nicht mehr hin und weiß nicht warum.
Ich komme immer wieder nur auf null-Pointer oder nur den äußerst linken Knoten raus.
Könnte mir einer in Pseudecode nochmal verdeutlichen, wie ich diese rekursive Suche aufbauen muss, damit alle Knoten durchsucht werden bzw. solange gesucht wird, bis der passende gefunden wurde.
Vielleicht starre ich einfach schon zu lange auf den Quelltext (muss zeitig fertig werden) und stelle mich deswegen dumm an.
Egal, was ich auch anstelle, entweder gibt die function überall null zurück oder gibt nur den äußerst linken Knoten zurück.
Logisch ist also, dass meine Ansätze ins leere laufen, oder aber die rechten teilbäume nicht mehr ablaufen...
liebe Grüße
ein verzweifelter Moch
Edit: genutzt sprache ist Ada95, aber ich verstehe auch den Quellcode von Java, Delphi und Haskell sehr gut... Ada95 ist Delphi sehr ähnlich.
Tut mir leid so eine vermutlich simple Frage zu stellen, aber ich bin so langsam total am verzweifeln.
Folgendes Problem:
Ich habe einen Binär-Baum, dessen Blätter/Knoten bestimmte Merkmale enthalten. Derzeit brauche ich eine Such-Function, die rekursiv ein Blatt mit einer bestimmten Eigenschaft sucht.
Vereinfachtes Beispiel:
- Der Baum beinhaltet in jedem Knoten/Blatt einen Character (keine duplikate) und eine ID für diesen
Ich suche nun nach der ID für einen Char, als muss ich besagten charakter im baum finden.
Leider kriege ich die verdammte Rekursion überhaupt gar nicht mehr hin und weiß nicht warum.
Ich komme immer wieder nur auf null-Pointer oder nur den äußerst linken Knoten raus.
Könnte mir einer in Pseudecode nochmal verdeutlichen, wie ich diese rekursive Suche aufbauen muss, damit alle Knoten durchsucht werden bzw. solange gesucht wird, bis der passende gefunden wurde.
Vielleicht starre ich einfach schon zu lange auf den Quelltext (muss zeitig fertig werden) und stelle mich deswegen dumm an.
Egal, was ich auch anstelle, entweder gibt die function überall null zurück oder gibt nur den äußerst linken Knoten zurück.
Logisch ist also, dass meine Ansätze ins leere laufen, oder aber die rechten teilbäume nicht mehr ablaufen...
liebe Grüße
ein verzweifelter Moch
Edit: genutzt sprache ist Ada95, aber ich verstehe auch den Quellcode von Java, Delphi und Haskell sehr gut... Ada95 ist Delphi sehr ähnlich.
Zuletzt bearbeitet: