py-bst
py-bst copied to clipboard
levelorder() doesn't work
Hi I found that levelorder( ) in bstree.py has some errors.
File "E:\Python27\lib\site-packages\pybst\bstree.py", line 164, in levelorder if visit.left: AttributeError: 'NoneType' object has no attribute 'left'
fix it in class BSTree in bstree.py
def levelorder(self):
"""
T.levelorder(...) -> Sequence. Produces a sequence of the Nodes
in T, obtained in levelorder.
"""
q = collections.deque()
q.appendleft(self.Root)
lst = []
while len(q) != 0:
removed = q.pop()
lst.append(removed)
# visit = self.get_node(removed, self.Root)
# if visit.left:
# q.appendleft(visit.left)
# if visit.right:
# q.appendleft(visit.right)
if removed.left:
q.appendleft(removed.left)
if removed.right:
q.appendleft(removed.right)
return lst