我尝试在python中创建一个模块,使用4个标准的树遍历(inorder、preorder、posterder和levelorder)遍历二叉树,而不使用条件,只使用多态方法dispatch或iterators。下面的例子应该有用。在
for e in t.preorder():
print(e)
for e in t.postorder():
print(e)
for e in t.inorder():
print(e)
for e in t.levelorder():
print(e)
到目前为止,我提出了以下几点
^{pr2}$当我尝试运行一个迭代器时,比如在代码的底部,我得到一个 AttributeError:“NoneType”对象没有属性“inorder” 错误消息。我想这是因为我从不提出停止迭代。关于如何解决这个问题并开始实施levelorder有什么想法吗?在
你说你不想用多态性。用一个支持方法但返回空序列的特殊对象替换代码中所有出现的“None”都将正常工作。在
另外,在发布Python问题时,您应该更加注意缩进。你发布的代码不会按原样运行。在
相关问题 更多 >
编程相关推荐