class BSTnode:
def __init__(self,data):
self.data = data
self.left = None
self.right = None
self.parent = None
class BST:
def __init__(self,li = None):
self.root = None
if li :
for val in li :
self.insert(self.root,val)
def insert(self,node,val):
if node == None:
node = BSTnode(val)
elif node <val:
node.left = self.insert(node.left,val)
node.left.parent = node
elif node>val:
node.right = self.insert(node.right,val)
node.right.parent = node
return node
def order(self,li):
if li :
self.order(li.left)
print(li.data,end= ',')
self.order(li.right)
li = list(range(500))
import random
random.shuffle(li)
tree = BST(li)
tree.order(tree.root)
调用的时候才发现好像没有可以调用递归的值(这个值应该是用于确定二叉树当前节点)
第13行的self.root