Skip to content

二叉树理论知识

定义

二叉树‌是一种树形数据结构,其中每个节点最多有两个子节点,通常称为左子节点和右子节点。

基本定义‌:

二叉树是一个递归定义的数据结构,它要么是一棵空树,要么是一棵由一个根节点和两棵互不相交的二叉树(左子树和右子树)组成的非空树‌

结构特点‌:

‌有序性‌: 二叉树的左子树和右子树是有序的,左子树在前面,右子树在后面‌

‌子树互斥‌: 左子树和右子树也是二叉树,并且互不重叠‌

‌节点数量限制‌: 每个节点最多有两个子节点,不存在度大于2的节点‌

‌特殊类型‌:

‌满二叉树‌: 所有分支节点都存在左子树和右子树,并且所有叶子节点都在同一层上‌

‌完全二叉树‌: 按层序编号,如果编号为i的节点与深度相同的满二叉树中编号为i的节点位置完全相同,则称为完全二叉树‌

‌斜树‌: 所有节点都只有左子树的称为左斜树,所有节点都只有右子树的称为右斜树‌

‌存储结构‌:

‌顺序存储‌: 使用数组存储,适合表示完全二叉树,但不适用于非完全二叉树,因为非完全二叉树会有空间浪费‌

‌链式存储‌: 使用链表表示,每个节点包含数据域和两个指针域,分别指向左孩子和右孩子‌