Wie funktioniert eine rekursive Funktion ?
-
Hallo !
Ich habe nachfolgende Funktion vorliegen:
int Baum::getHoehe(Knoten * k)
{
int lHoehe(0),rHoehe(0);if(k->nachfolger_L)
lHoehe = getHoehe(k->nachfolger_L);else
lHoehe = 0;if(k->nachfolger_R)
rHoehe = getHoehe(k->nachfolger_R);
else
rHoehe = 0;if(rHoehe > lHoehe)
return (rHoehe+1);
else
return (lHoehe+1);
};Wie funktioniert das Ganze?
Vielen Dank im Voraus!
Tobias
-
Wie funktioniert das Ganze?
Die Funktion ruft einfach für jeden Knoten die Funktion getHoehe auf. Der letzte Knoten liefert 1 zurück und für jedesmal, wenn die Funktion aufgerufen wird, wird der Wert um 1 erhöht. Ist doch nicht schwer zu verstehen.