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.
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