Надежда кто-то может помочь, я не программист, но был заинтересован в изучении последовательности Фибоначчи, и это рекурсивное дерево ...Как я могу рекурсивно вставить последовательность Фибоначчи в бинарном дереве
Я создал класс Binary Tree, наряду с соответствующим TreeNode классом, и хочет создать бинарное дерево из рекурсивных вызовов, созданные:
f (п) = е (п-1) + F (п-2) для заданного значения n
Я хочу добавить его как InsertFibonacci me ThOD моего класса Binary Tree, заменяя стандартный метод вставки:
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
ли я добавить somekind из декоратора функции Фибо?
# 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
ли вы имеете в виду вы хотите структуру данных для представления графа вызовов для рекурсивной функции Фибоначчи? Тогда вы не должны использовать дерево двоичного поиска *. –
Hi Larsmans, Да, структура данных для представления графа вызовов. Разве граф вызовов не представляет собой почти полную строчную двоичную структуру дерева? – Alex2134
Да, но граф вызовов не является двоичным * поисковым * деревом, которое, как представляется, реализует 'insertNode'. BST - это обозначенное двоичное дерево с ограничениями на упорядочение, которое граф вызовов Фибоначчи не отображается. –