Rekursives Blätter Zählen bis Höhe k (Baum)

Neue Frage »

Auf diesen Beitrag antworten »
Chirs Rekursives Blätter Zählen bis Höhe k (Baum)

Meine Frage:
Hallo zusammen,

ich hätte eine Frage bezüglich einer Aufgabe, die mir in meinem Studium gestellt wurde.
Und zwar soll ich eine rekursive Funktion schreiben, die die Anzahl der Blätter in einem Baum bis zur einer gewissen Höhe k zählt.

Ich habe einen grundlegenden Ansatz für diese Aufgabe doch leider bin ich mir nicht zu 100 % sicher wie ich diesen programmiertechnisch verwirklichen kann.

Vielleicht weiß ja jemand von euch wie so etwas funktioniert.


Ich bedanke mich schon mal für eure Hilfe.


lg,

Chirs

Meine Ideen:
Die Höhe eines Knoten k ist 0 falls k die Wurzel ist.
Sonst ist die Höhe k+1.
Ein Blatt ist ein Knoten ohne Teilbaum.
 
Auf diesen Beitrag antworten »
eulerscheZahl

Ich erweitere meinen alten Code:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
int count(struct Node* n, int depthRemaining) {
	if (depthRemaining < 0 || n == NULL) return 0;
	return 1 + count(n->left, depthRemaining-1) + count(n->right, depthRemaining-1);
}

int main(void) {
	//... (Baum erzeugen)
	printf("%d\n", count(root, 1)); //3
	printf("%d\n", count(root, 2)); //4
}
Auf diesen Beitrag antworten »
Chirs

Dankeschön smile
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »