Considere el mismo código dado en la pregunta anterior. ¿Qué hace la función print() en general?
La función print() recibe la raíz de un árbol de búsqueda binario (BST) y un entero positivo k como argumentos.
// 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) Imprime el k-ésimo elemento más pequeño en BST
(B) Imprime el k-ésimo elemento más grande en BST
(C) Imprime el Node más a la izquierda en el nivel k desde la raíz
(D) Imprime el Node más a la derecha en el nivel k desde la raíz
Respuesta: (B)
Explicación : La función básicamente hace un recorrido en orden inverso del árbol de búsqueda binaria dado. El recorrido en orden inverso produce datos en orden inverso. Cada vez que se visita un Node, la cuenta se incrementa en 1 y los datos de un Node se imprimen solo cuando la cuenta se convierte en k.
Cuestionario de esta pregunta
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA