构建树的结构,添加删除树节点

树的结构

为了更清楚的表示节点结构,这里用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)
经验分享 程序员 微信小程序 职场和发展