Так как у меня есть эта проблема, и я понятия не имею, как это сделать вообще. Проблема заключается в следующем:Вычитание ветвей двоичного дерева чисел в python
Определите рекурсивную функцию под названием subt_tree(), которая принимает двоичное числовое дерево и рекурсивно вычитает значение каждой правой ветви из левой ветви. Так, например, если
tree1 = (25,((10,4),(12,11)))
затем subt_tree(tree1)
вернуться бы
(25 - ((10-4) - (12-11))) = (25 - (6 - 1)) = (25 - 5) = 20.
По существу я должен сделать каждый tuple
проблемой вычитания, а затем решить.
Я попытался это:
def subt_tree(bnt):
"""Takes a bnt and recursively subtracts the value of each right branch from the left branch.
bnt -> number"""
if not isinstance(bnt,tuple):
return 1
else:
return subt_tree(bnt[0]) - subt_tree(bnt[1])
но должно быть что-то не так в моем еще заявление, потому что независимо от того, что я вход будет возвращать только 0 или 1.