原理解析:
有一组数据“3, 5 , 7, 20, 43, 2, 15, 30”,则二叉树的建立过程如下。
- 将3视为根节点。
- 5>3,把5作为3的右节点
- 7>3,7>5,把7作为5的右节点
- …
- 2<3作为3的左节点。结果如下图:
代码实现:
class BTree(): #二叉树节点
def __init__(self,value): #初始化子函数
self.left = None #左节点
self.date = value #节点值
self.right = None #右节点
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.date)
def inorder(node): #中序遍历,遍历左子树 (node为根节点)
if node.date:
if node.left:
inorder(node.left)
node.show()
if node.right:
inorder(node.right)
def rinord