构建树的结构,添加删除树节点
树的结构
为了更清楚的表示节点结构,这里用C++语法来阐述
class Node{ E e; # 节点携带的元素 Node* left; # 左孩子 Node* right; # 右孩子 } 单链表
1 使用列表的形式构建树
#使用list构建树 G = [‘G’,[]] H=[‘H’,[]] I=[‘I’,[]] K=[‘K’,[]] E=[‘E’,[G,H,I,K]] D=[‘D’,[]] F=[‘F’,[]] A=[‘A’,[D,E]] B=[‘B’,[]] C=[‘C’,[F]] Root=[‘Root’,[A,B,C]] print(Root)
1 2 3 4 5 6 7 8 9 10 11 12 13
2 使用类的方式构建二叉树会简单一些
class BTree: #二叉树节点 def init(self,value): #初始化函数 self.left = None #左儿子 self.right = None #右儿子 self.data = value #节点值
def insertleft(self,value): #左子树插入节点
self.left = BTree(value)
return self.left
def insertright(self,value): #右子树插入节点
self.right = BTree(value)
return self.right
def show(self): #输出节点数据
print(self.data)
