Wygenerowałam drzewo binarne doskonale zrównoważone i chciałam je wydrukować. Niestety wyświetlają mi się same zera zamiast danych, które podałam. Domyślam się, iż to przez kod w linijce 25, czyli print(tree.data), która odnosi mnie do klasy drzewa, gdzie self.elem wynosi 0.
Nie mam pojęcia, jak połączyć podane przeze mnie liczby z fukncją drukowania. Podrzucam kodzik, może ktoś podpowie :)
class BinTree:
def __init__(self):
self.elem = 0
self.left = None
self.right = None
def generate(pbt, N):
if N == 0:
pft = None
else:
pbt = BinTree()
x = input()
pbt.elem = int(x)
generate(pbt.left, N // 2)
generate(pbt.right, N - N // 2 - 1)
def printtree(tree, h):
if tree is not None:
tree = BinTree()
printtree(tree.right, h+1)
for i in range(1, h):
print(end = "......")
print(tree.elem)
printtree(tree.left, h+1)