二叉树结点定义
class bi_tree:
def __init__(self, v):
self.value = v
self.lsub = None
self.rsub = None
构建三层二叉树,形如
root_tree = bi_tree(3)
left_tree = bi_tree(2)
right_tree = bi_tree(4)
root_tree.lsub = left_tree
root_tree.rsub = right_tree
left_l_tree = bi_tree(0)
left_r_tree = bi_tree(1)
left_tree.lsub = left_l_tree
left_tree.rsub = left_r_tree
right_l_tree = bi_tree(5)
right_r_tree = bi_tree(6)
right_tree.lsub = right_l_tree
right_tree.rsub = right_r_tree
定义层序输出二叉树函数
def print_bi_tree(p_bi_tree):
tree_list = []
tree_list.append(p_bi_tree)
while len(tree_list) > 0:
p = tree_list.pop(0)
print(p.value)
if p.lsub is not None:
tree_list.append(p.lsub)
if p.rsub is not None:
tree_list.append(p.rsub)
层序输出二叉树[3, 2, 4, 0, 1, 5, 6]
print_bi_tree(root_tree)