Python全系列 教程
3567个小节阅读:5930.2k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
给定一个待插入元素 num
,为了保持二叉搜索树"左子树 < 根节点 < 右子树"的性质,插入操作流程:
num
的大小关系循环向下搜索,直到历至 None 时跳出循环。num
,将该节点置于 None 的位置xxxxxxxxxx
def insert(self,num):
''' 插入节点 '''
# 增加节点
node = Node(num)
# 判断当前树是否为空
if self.root is None:
self.root = node
# 查找插入的位置
cur = self.root
pre = None
# 遍历查找位置
while cur is not None:
# 判断值的大小
if cur.item == num:
return
pre = cur
# 插入的值小于当前节点的值
if cur.item < num:
cur = cur.right
else:
cur = cur.left
# 经过循环找到了插入的位置上一个节点
# 判断这个节点和插入的位置
if pre.item < num:
pre.right = node
else:
pre.left = node