¿Podemos tener un árbol binario cuyo recorrido posterior y posterior sea el mismo?

Gracias por el A2A.

En una situación normal, las hojas de un árbol son únicas y deben aparecer de manera opuesta. El recorrido posterior al pedido visita los nodos en el orden raíz izquierda-derecha y el recorrido previo al pedido visita los nodos en el orden raíz-izquierda-derecha. Para que puedan producir la misma salida, “izquierda” debe ser igual a “raíz”, lo que no sería posible.

Sin embargo, hay dos posibilidades en las que los recorridos de preorden y los de postorden son iguales:

Singleton: aquí hay un solo nodo, por lo que no importa si lo visita antes o después de buscar cero hojas.

Elementos duplicados: suponga que tiene un árbol con elementos duplicados. Si se permite que el árbol acepte cualquier elemento mayor o igual que el nodo raíz, obtendrá un árbol degenerado a la derecha. Si fuera menor o igual que el nodo raíz, todavía tendría un árbol degenerado, pero a la izquierda.

Ahora, si el árbol descarta elementos duplicados, quedaría con el caso singleton, que todavía tiene los recorridos de preorden y posorden que resultan en los mismos elementos.

A menos que hasta que el árbol tenga un solo nodo (solo raíz) o si se aceptan elementos duplicados mientras se inserta en el árbol, es posible, de lo contrario no. Si tomamos en cuenta cualquier caso, excepto los dos casos anteriores, entonces no podemos tener un binario árbol cuyos recorridos tanto antes como después del pedido son iguales. En el caso de elementos duplicados, el árbol podría verse así.

re

\

re

\

re

\

re

Si el árbol tiene elementos únicos, entonces no puede tener ambas órdenes transversales iguales.

More Interesting

¿Qué algoritmo usar para encontrar una ganancia l1 óptima?

¿Cómo puede una persona que no está en el mundo académico presentar pruebas correctas de que NP = O (n), la jerarquía polinómica se colapsa y existe un algoritmo eficiente de O (n) para resolver cualquier problema sin causar caos y pánico masivo porque se rompería todo el cifrado?

¿Diferencia entre algoritmo de relleno de inundación y relleno de límite en gráficos de computadora?

Cómo verificar en C ++ si varias cadenas tienen una coincidencia con una sola cadena de una sola vez

¿Cuántas veces aparece el número 1 en una serie de números del 1 al N? Necesito una explicación lógica, no una usando la computadora.

¿Cuál es la diferencia entre las estructuras de datos de std :: vector y std :: deque?

¿Cuál es la forma más eficiente de verificar si un elemento es parte de un conjunto?

¿Cómo debo comenzar a aprender estructuras de datos y algoritmos? ¿Cuáles son algunos buenos libros, cursos en línea e idiomas preferidos?

Si necesita almacenar operaciones de deshacer / rehacer en un procesador de textos, ¿qué estructura de datos se puede usar?

Te dan n pilas con p monedas, y cada jugador elimina al menos 1 moneda. El número de monedas eliminadas por un jugador no puede ser eliminado por el otro. ¿Quién ganará?

Cómo hacer que un algoritmo se visualice como visualgo.net

¿Todos los NP-HARD que son decidibles también son NP-Complete?

¿Cuál es el mejor sitio para aprender la estructura de datos y el algoritmo?

¿Qué es un algoritmo eficiente para encontrar una isla de 1s conectados en una matriz de 0s y 1s?

¿Cómo podemos decir que la búsqueda binaria es un algoritmo rápido?