【发布时间】:2016-02-13 00:41:03
【问题描述】:
我有一个标准的二叉树,读起来像
1
/ \
2 3
/ \ / \
4 5 6 7
我需要通过导入我的树类来读取二叉树,创建这棵树,然后使用 for 循环读取它,如下所示:[4, 2, 5, 1, 6, 3, 7]
我已经制作了树,我的程序将生成一个具有任意数量数字的类似树。我的问题出在方法上。
def iter(自我):
到目前为止我有:
def __iter__(self):
if self.left:
self.left.__iter__()
yield self
if self.right:
self.right.__iter__()
但是当我在树对象上运行 for 循环时:
对于树中的项目: print("{}: {}").format(item.name, item.height())
它只以正确的高度打印我尝试中的第一个节点。
我的问题基本上是,如何使用递归打印这个二叉树?
【问题讨论】:
-
我只是在做一些关于同一件事的研究,我发现了这个新的二叉树模块。它已经提供了不同的方法来列出元素甚至打印树结构。 This is the link where I found the module.我希望它有所帮助。
标签: python python-3.x