首先说明完全二叉树的定义:
一个完全二叉树必须符合以下两个规则,1.树的倒数第二层必须是满的,2.树的最后一层从左到右紧密排序。
本次案例使用的二叉树如下图:
首先把模版定义好
class Node(object):
def __init__(self, item):
# 每个节点都共有的三个属性
self.item = item
self.left_child = None
self.right_child = None
class Tree(object):
# 完全二叉树
def __init__(self):
# 二叉树的根节点
self.tree_root = None
二叉树添加元素的思路
1。首先判断是不是空树,如果是空树,直接添加到根节点
2。将根节点入队列
3。根节点出队列
4。判断是否有左节点,没有则挂上,有入队列
5。判断是否有右节点,没有则挂上,有入队列
6。重复第4步和第5步
def add1(self, item):
node = Node(item) # 先获取到节点数据
if self.tree_root is None: # 判断是不是空树
self.tree_root = node
return
self.que.put(self.tre