二叉树的节点类:
class Node(object):
def __init__(self, data):
self.data = data
self.left = None
self.right = None
构造一棵二叉树:
class Build_Tree(object):
def __init__(self):
self.root = None
self.queue = []
def add(self, data):
node = Node(data)
if not self.root:
self.root = node
else:
temp = self.queue[0]
if not temp.left:
temp.left = node
elif not temp.right:
temp.right = node
self.queue.pop(0)
self.queue.append(node)
l = [1,2,3,4,5,6,7,8,9]
tree = Build_Tree()
for i in l:
tree.add(i)
root = tree.root