python中 完全二叉树的实现
怎么实现呢?废话不多说,直接上代码
class Node:
def __init__(self,item=None,l_child=None,r_child=None):
self.data=item
self.l_child=l_child
self.r_child=r_child
class Tree:
def __init__(self,root=None):
self.root = root
def add(self,item):
node = Node(item)
if self.root is None:
self.root = None
else:
index_list=[]
index_list.append(self.root)
while True:
cur_node = index_list.pop(0)
if not cur_node.l_child:
cur_node.l_child = node
return
elif not cur_node.r_child:
cur_node.r_child = node
return
else:
index_list.append(cur_node.l_child)
index_list.append(cur_node.r_child)
浙公网安备 33010602011771号