#3856. [GESP202512 六级 C++] 第 13 题

[GESP202512 六级 C++] 第 13 题

在二叉排序树(Binary Search Tree, BST)中,假设节点值互不相同。给定如下搜索函数,以下说法一定正确的是( )。

bool find(Node* root, int x) {
    while (root) {
        if (root->val == x) return true;
        root = (x < root->val) ? root->left : root->right;
    }
    return false;
}

{{ select(1) }}

  • 最坏情况下,访问结点数是 O(logn)O(\log n)
  • 最坏情况下,访问结点数是 O(n)O(n)
  • 无论如何,访问结点数都不超过树高的一半
  • 一定比在普通二叉树中搜索快