我有一个正在进行的调查Fibonacci序列的项目,这只是一个个人项目,我创建了一个二进制文件tree class,它创建了Fibonacci调用图的二叉树,所以f(3)我生成了树:

我想创建一个tree class get_partitions()遍历树的方法来生成分区root value,我在这里看到的顺序不同的顺序作为不同的分区; 所以对于这里的例子f(3),该get_partitions()方法将遍历树并产生:
Partion 1: 2,1
Partion 2: 2,1,0
Partion 3: 1,1,1
Partion 4: 1,1,1,0
Partion 5: 1,0,1,1
Partion 6: 1,0,1,1,0
Run Code Online (Sandbox Code Playgroud)
最后,我想列举Fibonacci数的每个排列root value,在这种情况下3,对于Partition 1枚举的分区将是(2,1),(1,2),或者Partion 2将被枚举(2,1,0),(2,0,1),(1,2,0),(1,0,2),(0,2,1),(0,1,2),等等......
[编辑1]我关心的是Partion 4,并Partion 5在这方面的例子如列举这些partions的所有组合会产生重复 partions.
给定的组合数量root value会产生加泰罗尼亚数字是否正确?
我Tree class是:
class FibTree(object):
"""Class which builds binary tree from …Run Code Online (Sandbox Code Playgroud) 我已经创建了一个TreeNode类的方法,我想要返回一个按顺序树遍历的平面列表
我的示例树是:

顺序遍历输出应该是: [1, 1, 0, 2, 1, 3, 1, 1, 0]
但我得到了: [2, 1, 1, 0, 1, 3, 1, 1, 0]
这是我的代码:
def in_order_list(self, r = []):
hasLeft = self.left is not None
hasRight = self.right is not None
if self is None:
return
else:
if hasLeft:
self.left.in_order_list(r)
r.append(self.value)
if hasRight:
self.right.in_order_list(r)
return r
Run Code Online (Sandbox Code Playgroud)
有人能告诉我为什么会这样吗?
谢谢Alex
以下网址似乎不再返回,EG:
https://gdata.youtube.com/feeds/api/playlists/59787513DAFB0226
只是返回'不再可用'
我知道播放列表很好而且正确.
有人可以帮忙吗?此API已弃用吗?
问候,亚历克斯