01 定义
首先定义二叉树结点的数据类型:
class TreeNode():
def __init__(self, val, left=None, right=None):
self.val = val
self.left = left
self.right = right
二叉搜索树的定义:
二叉搜索树(BST)
是二叉树的一种特殊表示形式,它满足如下特性:
每个节点中的值必须大于
(或等于)存储在其左侧子树中的任何值。
每个节点中的值必须小于
(或等于)存储在其右子树中的任何值。
下面是一个二叉搜索树的例子:
02 增操作
增加操作本质上与二叉树的遍历操作并无区别。
class BinaryTree():
# 插入操作(增)
def insert(self, root, val):
if root == None:
root = TreeNode(val)