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

考虑与上述问题相同的代码。函数print()通常做什么?

null

函数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);
}
}


(A) 打印BST中第k个最小元素 (B) 打印BST中第k个最大元素 (C) 从根节点打印级别k处最左边的节点 (D) 从根节点打印级别k处最右边的节点 答复: (B) 说明: 该函数基本上对给定的二叉搜索树进行逆序遍历。反向顺序遍历以反向排序的顺序生成数据。每当访问一个节点时,count都会增加1,并且只有当count变为k时才会打印节点的数据。 这个问题的小测验

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