二进制Seacrh树遍历python


def traverse(self):
if self.root !=None:
print('*****Traversing*****')
print('self.root is', self.root.data)
print('self.root.Left is', self.root.leftchild.data)
print('self.root.Right  is', self.root.rightchild.data)
self.traverse_in_order(self.root)

def traverse_in_order(self,node):

if node.leftchild!=None:  #there is leftchild
print('node.leftchild is',node.leftchild.data )
self.traverse_in_order(node.leftchild)       #go till end of leftnode
print('')
print('print node ', node.data)
print('')
if node.rightchild!=None:
print('Node.RIght',node.rightchild.data)
self.traverse_in_order(node.rightchild)
bst=BST()
bst.insert(32)
bst.insert(10)
bst.insert(1)
bst.insert(19)
bst.insert(46)
bst.traverse()
Output----
*****Traversing*****
self.root is 32
self.root.Left is 10
self.root.Right  is 46
node.leftchild is 10
node.leftchild is 1
-------------print node  1
-------------print node  10
Node.RIght 19
print node  19
print node  32
Node.RIght 46
print node  46

有人能帮上traverse_in_order函数吗。我的怀疑是,从根开始,我们一直到最后一个左节点,然后打印它的数据,即(1被打印明白了。(如何再次打印10。与权限子树相同。我希望你明白我的要求。感谢

"10〃;不再打印。唯一重要的印刷品是那些写着";打印节点";,这些都是独一无二的。其他的只是调试打印,以帮助您遵循逻辑。它们不算数。

最新更新