我尝试用python实现一个树排序算法。 这是我目前所做的工作。 我不太清楚什么是树排序算法以及如何实现它。 任何帮助都将不胜感激。 谢谢你
class BinTreeNode(object):
def __init__(self, value):
self.value=value
self.left=None
self.right=None
def tree_insert( tree, item):
if tree==None:
tree=BinTreeNode(item)
else:
if(item < tree.value):
if(tree.left==None):
tree.left=BinTreeNode(item)
else:
tree_insert(tree.left,item)
else:
if(tree.right==None):
tree.right=BinTreeNode(item)
else:
tree_insert(tree.right,item)
return tree
def postorder(tree):
if(tree.left!=None):
postorder(tree.left)
if(tree.right!=None):
postorder(tree.right)
print (tree.value)
def in_order(tree):
if(tree.left!=None):
in_order(tree.left)
print (tree.value)
if(tree.right!=None):
in_order(tree.right)
if __name__ == '__main__':
t=tree_insert(None,6);
tree_insert(t,10)
tree_insert(t,5)
tree_insert(t,2)
tree_insert(t,3)
tree_insert(t,4)
tree_insert(t,11)
in_order(t)
您的代码很接近,但是,
tree_insert
需要作为left
或right
成员变量的属性来调用:输出:
^{pr2}$编辑:不带
classmethod
:输出:
^{pr2}$相关问题 更多 >
编程相关推荐