Miniklausur Aufgabe 4a

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Miniklausur Aufgabe 4a
Hallöchen :slight_smile:
Ich habe mir mal die Lösung angesehen und da steht :

static int height(TenTree tree){
    if( tree == null ) throw new NullPointerException("");
 
    int max = 0, tmp = -1;
    for( int i = 0; i < 10; ++i )
    {
        if( children[i] != null )
            tmp = height( children[i] );
        if( max < tmp ) max = tmp;
    }
    if( tmp == -1 ) return 0;
    else return max + 1;
}

Meine Frage lautet nun : Kann ich einfach auf children[i] zugreifen,oder muss ich tree.children[i] schreiben? Des weiteren wäre es schön,wenn mir jemand kurz erklären könnte,wie sich tmp hier durch den Rekursionsaufruf verändert,denn irgendwie hab ich das noch nicht so ganz verstanden. Handelt es sich hier im verschachtelte,oder kaskadenartige Rekursion?

Eigelb


Ich denke tree.children sollte da stehen
Es handelt sich um kaskadenartige Rekursion.
in tmp wird eben für jedes der Kinder die returnte höhe gespeichert, mit dem aktuellen max verglichen und dort gespeichert/verworfen