Ich habe eine Liste von Zahlen:Wie Kinder in einem Baum zählen
[1, 2, 3, 4, 5, 6, 7]
Ich bin interessiert, einen Algorithmus zu finden, die die Gesamt Kinder in dieser Liste, wenn die Liste zusammenfassen können, wo ein Baum:
1
/ \
2 3
/\ /\
4 5 6 7
ich suche nach einem Algorithmus, geben würde:
[6, 2, 2, 0, 0, 0, 0]
A = 6
B = 2
C = 2
D = 0
E = 0
F = 0
G = 0
Jeder Knoten (mit Ausnahme der Blätter) hat zwei Kinder. Die einzige Ausnahme ist, wenn die Liste selbst wenn:
1
/ \
2 3
/\ /
4 5 6
ich einen Baum zu vermeiden, möchte den Aufbau und dann an jedem Knoten die Anzahl der Kinder zu zählen. Es muss einen einfachen mathematischen Weg geben, um die Anzahl der Kinder aus einer Liste zu zählen?
Warum der Baum aussieht, wie es in Ihrem Beispiel tut? speziell, warum ist 5 nicht der Sohn von 2 statt 6? – Gal
Wie übersetzt man das Array in den Baum? In deinem Beispiel beginnst du mit dem root, dann l (eft) node, zehn r (ight) node, dann ll, dann rl, dann lr dann rr, was ist das nächste? lll, rll, lrl, rrl, llr, rlr, lrr, rrr? Grundsätzlich zuerst alle linken Knoten der nächsten Generation, gefolgt von den rechten Knoten der nächsten Generation? – DeltaLima
Danke. Ich hatte einen Fehler im ursprünglichen Baum. – turtle