GESP 六级 · GESP 202403 C++ 六级 第 5 题

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

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

题目

以下代码希望能在一棵二叉排序树中搜索特定的值。请在横线处填入( ),使其能正确实现相应功能。

TreeNode* search(TreeNode* root, int target) {
    if (root == NULL || root->val == target) {
        return root;
    }
    if (_____________) {
        return search(root->left, target);
    } else {
        return search(root->right, target);
    }
}
答案:B

考点

搜索

解题思维

位运算:&(与)、|(或)、^(异或)、~(取反)、<<(左移)、>>(右移)。异或性质:a^a=0,a^0=a。

常见错误

区分逻辑运算(&&,||,!)和位运算(&,|,~,!)。左移右移注意符号位的处理(算术右移vs逻辑右移)。负数的位运算要小心。

详细解析(节选)

【考点】二叉排序树性质|递归搜索|条件分支判断

1. 🎯 考纲定位

GESP 六级《数据结构》模块。命题人卡住的是考生对「二叉排序树(BST)性质」的记忆——六级要求会建会查会遍历,但多数考生只背了递归框架,没理解 BST 的核心规则:左子树全小、右子树全大。这道题就是专门测试这个「搜索时如何根据值大小决定方向」的底层逻辑。

同考点真题

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