二叉树的节点表示以及树的创建
通过使用Node类中定义三个属性,分别为elem本身的值,还有lchild左孩子和rchild右孩子
class Node(object):
'''树节点'''
def __init__(self, item):
self.elem = item
self.lchild = None
self.rchild = None
树的创建,创建一个树的类,并给一个root根节点,一开始为空,随后添加节点
class Tree(object):
'''二叉树'''
def __init__(self, node=None):
'''初始化,根节点为None'''
self.root = node
def add(self, item):
'''添加节点,广度遍历找出可以添加的位置'''
node = Node(item)
# 如果二叉树为空,则直接往根节点添加
if self.root is None:
self.root = node
else:
# 创建一个队列,即列表