在二叉排序树(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; }
最坏情况下,访问结点数是 O(logn)O(\log n)O(logn)
最坏情况下,访问结点数是 O(n)O(n)O(n)
无论如何,访问结点数都不超过树高的一半
一定比在普通二叉树中搜索快