Estructuras de datos | Árboles de búsqueda binarios | Pregunta 12

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *