Bir ağacı bir dizeye dönüştürmek ve prestr sırasını almak istiyorum (kök ile başlar ve tüm sol düğümleri ve ardından sağdakilere geri gider) Örnek: ağaç (kök (sol (a) (b)) (sağ (c) (d))) "kök sol ab sağ cd" olacaktır. Bir ağaçtan sırayla dize yazdırmaya çalışırken sorun
class TreeNode:
def __init__(self, data = None):
self.data = data
self.children = []
class Tree:
def __init__(self, string = None):
self.root = None
def prestr(self):
string1 = ""
value = self.root
string1 += value.data
string1 += " "
while len(value.children) > 0:
for i in value.children:
string1 += i.data
string1 += " "
value = i
print(string1)
Bu
tree (root (left (a) (b)) (right (c) (d)))
ile bu kodu çalıştırırken alıyorum: "root left right c d"
. Bunun, değer olarak ayarlandığında 'u value.children[0]
'da çalıştırmayacağından şüpheleniyorum ama nedenini bilmiyorum. Burada sorun nedir?