【发布时间】:2021-02-19 12:07:13
【问题描述】:
我最近刚刚完成了自己的二叉树实现,我认为这对于第一次尝试来说效果很好。我可以很容易地将左右子节点添加到根节点,查看节点的值,以及验证某个节点是否是子节点。
但是,我的搜索功能确实存在问题,该功能需要预订遍历系统。在我的 IDE 中,使用像这样的二叉树:
尝试使用我的搜索功能时常返回错误“AttributeError: 'int' object has no attribute 'data'”,我不太清楚它的含义。在我的代码中:
def search(self, value):
def find(x):
if x.data is not False:
return True
val2 = self.traverse_pre_order(find)
if val2 is not True:
return False
else:
return True
我试图将 x.data 更改为简单的 x,但这会返回 AttributeError 'NoneType' object has no attribute 'traverse_pre_order'。
我附上了与我正在研究的二叉树相关的PasteBin with my full code 的链接。
【问题讨论】:
标签: python binary-tree tree-traversal