Estructuras de datos | Recorridos de árboles | Pregunta 1

Se supone que la siguiente función calcula la profundidad o altura máxima de un árbol binario: el número de Nodes a lo largo del camino más largo desde el Node raíz hasta el Node hoja más lejano.

int maxDepth(struct node* node)
{
   if (node==NULL)
       return 0;
   else
   {
       /* compute the depth of each subtree */
       int lDepth = maxDepth(node->left);
       int rDepth = maxDepth(node->right);
   
       /* use the larger one */
       if (lDepth > rDepth)
           return X;
       else return Y;
   }
}

¿Cuáles deben ser los valores de X e Y para que la función funcione correctamente?
(A) X = lProfundidad, Y = rProfundidad
(B) X = lProfundidad + 1, Y = rProfundidad + 1
(C) X = lProfundidad – 1, Y = rProfundidad -1
(D) Ninguna de las anteriores

Respuesta: (B)
Explicación: si un árbol no está vacío, la altura del árbol es
MAX (altura del subárbol izquierdo, altura del subárbol derecho) + 1

Consulte el programa para encontrar la profundidad o la altura máximas de un árbol para obtener más detalles.

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 *