Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
--- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
---- Algorithmen (http://www.informatikerboard.de/board/board.php?boardid=17)
----- Rekursiv Verzweigungen zählen in einem Baum (http://www.informatikerboard.de/board/thread.php?threadid=2746)


Geschrieben von Chirs am 17.01.2016 um 17:58:

 

Danke für die Antwort, weil ich es in diesem Stil programmieren sollte:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
int verzweigungen(textbaum *b)
{
if (b==NULL)
return 0;

else if (b->left == NULL) && (b->right == NULL) 
return 1;

else return (verzweigung(b->left)+verzweigung(b->right)); 

};


Dann würde doch dieser Code funktionieren oder ? Da ich beide Terminierungsfälle abgedeckt habe.


Grüße



Geschrieben von eulerscheZahl am 17.01.2016 um 18:00:

 

Hatten wir das nicht schon?
Damit kriegst du bei einem Baum aus einem einzigen Knoten 1 raus.



Geschrieben von Chirs am 17.01.2016 um 18:03:

 

Ja genau soweit waren wir aber wie soll ich das dann einbauen, dass es bei einem Knoten keine Verzweigung gibt ?

Weil daran verzweifle ich gerade ein wenig. verwirrt

Grüße



Geschrieben von eulerscheZahl am 17.01.2016 um 18:05:

 

Mir fällt auch nichts besseres ein als der Code, den ich eben geschrieben habe, oder das Zählen aller Knoten und anschließende Subtrahieren von 1.



Geschrieben von Chirs am 17.01.2016 um 18:09:

 

Ok danke trotzdem. smile

Kann man deinen Code auch ohne ? schreiben also in solcher Form wie ich den meinen geschrieben habe ? Weil ich leider diesen Operator nicht benutzen darf.


Grüße



Geschrieben von eulerscheZahl am 17.01.2016 um 18:11:

 

Ja, aber dann musst du das Ergebnis zwischenspeichern.



Geschrieben von Chirs am 17.01.2016 um 18:15:

 

Ok danke dir

Ich glaub es ist wirklich einfacher es in zwei Funktionen zu packen und erst die Knoten zu zählen.


Vielen Dank für deine Hilfe.


Forensoftware: Burning Board, entwickelt von WoltLab GmbH