Forum: Algorithmen, Datenstrukturen und Klassendesign
by wunderkinnd,
10. Sep 2012
Hallo,
ich befürchte, wir reden aneinander vorbei. Hier ein einfacheres Beispiel:
function TGraphTool.test (s : integer): String;
begin
if s > 5 then result := '6';
if s < 5 then begin
result := test(6);
result := test(5);
end;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by wunderkinnd,
10. Sep 2012
Hallo und Danke für die Antwort, aber das genau ist mein Problem:
zum ersten Kommentar: ich verstehe schon, warum der Algorithmus funktioniert, wenn etwas sinnvolles gefunden wird. Das Prinzip der Rekursion ist mir schon klar. Schließlich stammt der Code ja auch von mir ;-)
Der Code funktioniert tatsächlich aber auch, wenn die erste if-Abfrage nicht zutrifft. Dann wird halt ein leerer...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by wunderkinnd,
10. Sep 2012
Ich habe hier einen funktionierenden ALgorithmus der Tiefensuche. Er arbeitet rekursiv und durchläuft einen Graphen (mit den selbsterklärenden Methodennamen - hoffe ich). Der Algorithmus findet nicht die optimale Lösung (Weg von Knoten start zu Knoten ziel) aber er findet zumindest eine Lösung.
Meine Frage lautet eher: Warum funktioniert das Ganze?
//-------- tiefensuche (public)...