Надеюсь, кто-то может помочь, я не программист, но мне было интересно изучить последовательность Фибоначчи и ее рекурсивное дерево ...
Я создал класс Binary Tree вместе со связанным TreeNodeкласс, и хотите сгенерировать двоичное дерево рекурсивных вызовов, созданных с помощью:
f (n) = f (n-1) + f (n-2) для заданного значения n
Я бы хотел добавить его как метод InsertFibonacci моего класса Binary Tree, заменив стандартный метод Insert:
def insertNode(self, root, inputData):
if root == None:
return self.addNode(inputData)
else:
if inputData <= root.nodeData:
root.left = self.insertNode(root.left, inputData)
else:
root.right = self.insertNode(root.right, inputData)
return root
Я бы добавил какой-нибудь декоратор в функцию Fib?
# Fib function
def f(n):
def helper(n):
left = f(n-1)
right = f(n-2)
return left,right
if n == 0:
return 0
elif n == 1:
return 1
else:
left, right = helper(n)
return left + right