Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Rekursives Blätter Zählen bis Höhe k (Baum) » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Rekursives Blätter Zählen bis Höhe k (Baum)
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Chirs
Mitglied


Dabei seit: 23.12.2015
Beiträge: 26

Rekursives Blätter Zählen bis Höhe k (Baum) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.
27.12.2015 13:11 Chirs ist offline E-Mail an Chirs senden Beiträge von Chirs suchen Nehmen Sie Chirs in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
}


__________________
Syntax Highlighting fürs Board (Link)
27.12.2015 13:31 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Chirs
Mitglied


Dabei seit: 23.12.2015
Beiträge: 26

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Dankeschön smile
27.12.2015 15:21 Chirs ist offline E-Mail an Chirs senden Beiträge von Chirs suchen Nehmen Sie Chirs in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Rekursives Blätter Zählen bis Höhe k (Baum)