【发布时间】:2019-06-29 08:13:02
【问题描述】:
部分问题需要按级别顺序打印树,所以如果输入树是:
("hello", (("a", ()), ("b", (("cde", ()), ("fg", ())))))
那么输出应该是,
hello
a b
cde fg
* 注意:输入树可以有任意数量的子树 *
这里似乎很独特的是应该使用输入树,
tree = eval(input('Enter tree: '))
大多数类似的问题都倾向于使用 Node 类和/或队列组件,我没有发现它们对这个问题有帮助,而且我找不到任何使用 eval 函数进行输入的情况。
这是我目前所拥有的,
def level_order(node):
label, children = node
print(label)
for child in children:
level_order(child)
tree = eval(input('Enter tree: '))
level_order(tree)
我当前的程序能够打印内容,我认为这是预先遍历。如何让它按级别顺序打印?
【问题讨论】:
-
你需要以广度优先的方式走树...
标签: python recursion tree tuples