二叉树:
- 结构:二叉树是一种数据结构,其中每个节点最多有两个子节点,通常标记为“左子节点”和“右子节点”。
- 类型:根据不同的约束条件,二叉树可以有不同的变种,如二叉搜索树(BST)、平衡二叉树(如AVL树、红黑树)等。在二叉搜索树中,对于任意节点,其左子树所有节点的值小于当前节点,右子树所有节点的值大于当前节点。
- 特点:二叉树的每个节点包含一个值,并且可以为空树、仅有一个根节点或者由根节点及左右两个子树构成的递归结构;
左节点小于根节点,根节点小于右节点
。 - 应用:二叉树适用于快速查找、排序、优先队列等场景。
二叉树和KD树
- KD树常用于高维数据排序,二叉树用于低维
- 两者的思路相似,KD树的思路借鉴二叉树
二叉树存储一维数据
定义一个二叉树基本单元
- 基本单元包括:
数值大小
,序号
,左节点
,右节点
str
:打印该单元的数值和序号
class TreeNode:
def __init__(self, value,key=0):
self.value = value
self.key = key
self.left = None
self.right = None