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.


Anmelden zum Antworten