<p>基本上,我希望每个树型节点都有一个数据字段和一个分支列表。此列表应包含许多树类型的对象。
我想我已经完成了列表的实际实现,但是当我尝试使用getLeaves方法时,我会出现奇怪的行为。基本上,它递归地调用自己,从不返回,发生的方式是树的第二个节点将它的第一个分支设置为自己(我想)。在</p>
<pre><code>class Tree:
"""Basic tree graph datatype"""
branches = []
def __init__(self, root):
self.root = root
def addBranch (self, addition):
"""Adds another object of type Tree as a branch"""
self.branches += [addition]
def getLeaves (self):
"""returns the leaves of a given branch. For leaves of the tree, specify root"""
print (len(self.branches))
if (len(self.branches) == 0):
return self.root
else:
branchSum = []
for b in self.branches:
branchSum += b.getLeaves()
return (branchSum)
</code></pre>