题目
以下代码实现了树的哪种遍历方式?
void traverse(TreeNode* root) {
if (root == nullptr) return;
cout << root->val << " ";
traverse(root->left);
traverse(root->right);
}
答案:A
考点
图的遍历函数与递归
解题思维
根据二叉树的遍历特性,先/前序遍历确定根节点,中序遍历确定左右子树范围,从而重构整棵树,再输出后序遍历结果。
常见错误
易混淆三种遍历的顺序。先序:根左右;中序:左根右;后序:左右根。注意遍历结果中相邻节点的关系。
详细解析(节选)
【考点】遍历|递归
1. 🎯 考纲定位(考点定位)
- GESP 六级「递归」模块的核心题型,树遍历是递归最直观的落地形式
- 命题人卡住的是「知其名不知其序」——不少考生背过「前序中序后序」,但面对递归代码时却分不清执行顺序,这题就是专门筛掉这种半吊子的
同考点真题
- 第 18 题· NOIP 2013 提高组初赛试题 · 答案 CD看解析 →
- 第 28 题· NOIP 2016 提高组初赛试题 · 答案 dist[1]=0dist[x]+weight[j]<dist[point[j]]weight[j]+dist[x]<dist[point[j]]dist[point[j]]>weight[j]+dist[x]dist[point[j]]>dist[x]+weight[j]visit[x]=0weight[j]+dist[x]==dist[point[j]]dist[x]+weight[j]==dist[point[j]]visit[point[j]]=1看解析 →
- 第 28 题· NOIP 2017 提高组初赛试题 · 答案 degree[b]=degree[b]+1degree[b]++++degree[b]degree[i]==0!degree[i]degree[i]=degree[i]-1degree[i]----degree[i]head=head+1head++++headans<len[a]len[a]>ans看解析 →
- 第 12 题· CSP 2023 提高级第一轮 · 答案 C看解析 →
- 第 9 题· GESP 七级样题(C++ 组) · 答案 C看解析 →