希望有人能幫助,我不是一個程序員,但在探索Fibonacci序列中一直有興趣,它的遞歸樹...我如何可以遞歸插入Fibonacci序列爲二叉樹
我創建二叉樹類以及相關的TreeNode類,並且想要生成由以下創建的遞歸調用的二叉樹:
f(n)= f(n-1)+ f(n-2)對於給定的值n
我想將其添加爲InsertFibonacci me我的二叉樹類的方法,取代標準的插入方法:
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
你的意思是你想要的數據結構來表示遞歸斐波那契函數調用關係圖?那麼你不應該使用二進制*搜索*樹。 – 2012-02-11 00:14:55
嗨Larsmans, 是的,一個數據結構來表示調用圖。調用圖不表示接近完全嚴格的二叉樹結構嗎? – Alex2134 2012-02-11 00:20:36
是的,但調用圖不是一個二進制*搜索*樹,這是'insertNode'好像要實現的。 BST是帶有排序約束的標記二叉樹,斐波那契調用圖不顯示。 – 2012-02-11 00:24:35