数据结构|二进制搜索树|问题12

考虑下面的代码片段在C.中,函数打印()接收二进制搜索树(BST)的根和正数k作为参数。

null

// 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 (D) 20 10 答复: (B) 说明: 代码主要查找BST中的第k个最大元素,请参阅 BST第K大元素 详细信息。 这个问题的小测验

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享