📜  数据结构|二叉搜索树|问题12

📅  最后修改于: 2021-06-29 05:41:17             🧑  作者: Mango

请考虑C中的以下代码段。函数print()接收二进制搜索树(BST)的根和正整数k作为参数。

// A BST node
struct node {
    int data;
    struct node *left, *right;
};
  
int count = 0;
  
void print(struct node *root, int k)
{
    if (root != NULL && count <= k)
    {
        print(root->right, k);
        count++;
        if (count == k)
          printf("%d ", root->data);
       print(root->left, k);
    }
}

print(root,3)的输出是什么,其中root表示以下BST的根。

15
                /     \
              10      20
             / \     /  \
            8  12   16  25   

(A) 10
(B) 16
(C) 20
(丁) 20 10答案: (B)
说明:该代码主要在BST中找出第k个最大元素,有关详细信息,请参见BST中的第k个最大元素。
这个问题的测验