¿Cómo se escribe una función para determinar el nodo en un árbol a la máxima profundidad, rompiendo los lazos con preferencia a los nodos más a la derecha?

La función que estoy imaginando es recursiva y abarca un nodo y la profundidad del nodo. La función devuelve un par, que es un nodo y su profundidad. Llamaremos a esta función con parámetros que son la raíz del árbol y la profundidad de cero.

El caso base de la función es cuando el nodo es una hoja. En cuyo caso, devuelva los parámetros como un par.

De lo contrario, si el nodo tiene exactamente un hijo, devuelve el resultado de llamar a la función recursivamente en su hijo, con una profundidad aumentada en uno.

De lo contrario, el nodo tiene exactamente dos hijos. Llame a la función recursivamente en ambos niños, con una profundidad aumentada en uno. Si la llamada recursiva derecha produce una profundidad mayor o igual a la profundidad producida por la llamada recursiva izquierda, devuelva el resultado de la llamada recursiva derecha. De lo contrario, devuelve el resultado de la llamada recursiva izquierda.

More Interesting

Se le da una matriz de n elementos [1,2, ... .n]. Por ejemplo {3,2,1,6,7,4,5}. Ahora creamos una firma de esta matriz comparando cada par de elementos consecutivos. Si aumentan, escriba I else write D.?

¿Cuáles son las preguntas formuladas por L&T durante las entrevistas en el campus?

¿Por qué las principales compañías tecnológicas como Google, Facebook y Quora evalúan a sus candidatos principalmente en su DSA pero no en el desarrollo de software y las habilidades tecnológicas?

Cracking the Coding Interview (libro de 2011) sugiere que clasifiquemos la lista de lenguajes de programación en nuestro currículum con nuestro nivel de experiencia. Dado esto, ¿cuándo se puede considerar a un "experto" en un lenguaje de programación?

¿Por qué la mayoría de las personas que acaban de obtener su BS en Informática no pueden pasar las entrevistas de codificación?

¿Cuáles son las preguntas formuladas durante las entrevistas de colocación?

¿Cuáles son las preguntas JSP y Servlet formuladas en una entrevista?

¿Qué significa una entrevista en la pantalla del teléfono?

¿Cuáles son algunas de las preguntas importantes de la entrevista técnica relacionadas con la estructura de datos del montón?

¿Cuáles son algunas de las preguntas de la entrevista de desarrollo web más frecuentes?

¿Cuántas veces puedes posponer aceptablemente una entrevista de Google?

¿Qué tipo de preguntas se harán durante las entrevistas de TI para otros estudiantes de la rama?

Si fuera un solicitante, ¿cómo se prepararía para una entrevista de trabajo?

Estoy escribiendo un programa para crear un árbol de búsqueda binario y mostrar datos ordenados. ¿Cómo puedo hacer eso en la programación en C fácilmente me da el código completo?

¿Cuáles son algunas preguntas de codificación formuladas por InMobi?