GESP 六级 · GESP 202412 C++ 六级 第 10 题

选择题 · 答案 B · 考点:搜索

← 整套速查表 GESP 六级 全部真题

题目

根据下面二叉树和给定的代码。

#include <iostream>
using namespace std;

struct TreeNode {
    int val;
    TreeNode* left;
    TreeNode* right;
    TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};

TreeNode* search(TreeNode* root, int val) {
    cout << root->val << " ";
    if (root == NULL || root->val == val) return root;

    if (val < root->val)
        return search(root->left, val);
    else
        return search(root->right, val);
}

给定以下二叉搜索树,调用函数 search(root, 7) 时,输出的结果是( )。

    5
   / \
  3   7
 / \ / \
2  4 6  8
答案:B

考点

搜索

解题思维

模拟程序执行过程,逐行跟踪变量变化,特别关注循环边界和递归终止条件。

常见错误

模拟执行时注意:① 循环变量的起始和终止值;② 递归的边界条件;③ 数据类型转换和精度问题。

详细解析(节选)

【考点】二叉搜索树遍历|递归执行流程|路径追踪

1. 🎯 考纲定位

考查二叉搜索树遍历与递归函数执行流程。命题人卡住的是考生对"先输出再判断"顺序的敏感度——很多人惯性思维会先判断再输出,导致漏掉根节点,或者误以为是全树遍历。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断