树与二叉树
掌握树与二叉树的基本原理、遍历、常用算法与高频题型
40%
🌳 基本概念与存储结构
🔁 遍历算法(递归与非递归)
🛠️ 典型操作与算法
🌟 经典例题与完整解答
💡 练习题与参考答案
树与二叉树的基本概念与存储结构
树是重要的非线性结构,二叉树是每个节点最多有两个子节点的树。常用术语有根、叶子、深度、高度、度等。二叉树常用链式存储:
// 二叉树节点定义
struct TreeNode {
int val;
TreeNode *left, *right;
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};
顺序存储常用于完全二叉树(如堆),用数组下标表示父子关系。
// 顺序存储(完全二叉树/堆)
vector<int> tree; // tree[0]为根,左子2*i+1,右子2*i+2