【发布时间】:2021-12-02 04:26:02
【问题描述】:
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。与权限子树相同。我希望你明白我在问什么。 谢谢
【问题讨论】:
标签: python binary-search-tree traversal