#通过使用Node类中定义三个属性,分别为elem本身的值,还有lchild左孩子和rchild右孩子
class Node(object):
“”“结点类”""
def init(self, item):
self.item = item
self.lchild = None
self.rchild = None
#树的创建,创建一个树的类,并给一个root根节点,一开始为空,随后添加节点
class BinaryTree(object):
“”“二叉树”""
def init(self, node=None):
self.root = node
def add(self, item):
"""
广度优先遍历方式添加结点
:param item:
:return:
"""
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: