1、首先我们需要一个节点类和一个树类。
创建节点类
class Node(object):
def init(self, item):
self.item = item
self.lchild = None # 左孩子
self.rchild = None # 右孩子
创建树类
class BinaryTree(object):
def init(self, node=None):
self.root = node # 给个root根节点,一开始为空,然后添加节点
2、同时树需要一个add方法来把新节点加进去
def add(self, item):
if self.root is None:
self.root = Node(item)
else:
queue = []
queue.append(self.root)
while len(queue) > 0:
node = queue.pop(0)
if not node.lchild:
node.lchild = Node(item)
return
else:
queue.append(node.lchild)
if not node.rchild:
node.rchild = Node(item)
return
else:
queue.append