二叉树
二叉树(binary tree,简写成BT)是一种特殊的树型结构,它的度数为2的树。即二叉树的每个结点最多有两个子结点。每个结点的子结点分别称为左儿子、右儿子,它的两棵子树分别称为左子树、右子树。二叉树有5种基本形态:
二叉树与树也有很多不同,如:首先二叉树的每个结点至多只能有两个结点,二叉树可以为空,二叉树一定是有序的,通过它的左、右子树关系体现出来。
在C++中,二叉树是一种常见的数据结构,它由节点组成,每个节点最多有两个子节点。二叉树有以下几个重要的特点:
-
根节点:二叉树的顶部节点称为根节点,它没有父节点。
-
子节点:每个节点最多有两个子节点,一个左子节点和一个右子节点。
-
叶子节点:没有子节点的节点称为叶子节点。
-
高度:二叉树的高度定义为从根节点到最深叶子节点的路径长度。
-
深度:二叉树的深度定义为从根节点到当前节点的路径长度。
以下是一个简单的二叉树的实现示例:
class TreeNode {
public:
int data;
TreeNode* left;
TreeNode* right;
// 构造函数
TreeNode