(2) Dividir: use Un para dividir la secuencia intermedia up1, up2,...upn en la secuencia intermedia en el subárbol izquierdo, Un y la secuencia intermedia en el subárbol derecho usan el izquierdo obtenido; subárbol Secuencia de árbol y secuencia de subárbol derecho, secuencia de postorden U1, U2...Un se divide en secuencia de subárbol izquierdo, UN y secuencia de subárbol derecho.
(3) Divida recursivamente el nuevo nodo raíz: use el método de (1)(2) para dividir el subárbol izquierdo (la secuencia intermedia del subárbol izquierdo, la secuencia posterior del subárbol izquierdo) y el subárbol derecho (el nodo raíz obtenido por la secuencia intermedia del subárbol derecho y la secuencia posterior del subárbol derecho) se divide en los nodos secundarios izquierdo y derecho de Un, hasta que se divide cualquier nodo del subárbol.
- E
-C
- K
- D
- J
A
I
- G
- H
-B
- F
Orden de impresión: A B F G H I C D J K E
Orden de impresión: F B H G I A J D K C E
I G B J K D E C A
Como se puede ver en el proceso de prueba anterior:
(1) Conocer la prioridad y el orden intermedio también puede determinar la estructura de un árbol.
(2) Conocer la secuencia anterior y la secuencia siguiente no puede determinar la estructura de un árbol, porque sólo se puede determinar la raíz, no los subárboles izquierdo y derecho. Aquí hay un contraejemplo:
A
-B
- F
Print_Preorder_Order: A B F
Print_Post_Order: F B A
Imprimir en orden
- F
-B
A
Print_Preorder_Order: A B F
Print_Post_Order: F B A
Imprimir en orden
En este ejemplo, dos árboles tienen estructuras diferentes, pero sus secuencias de preámbulo y sucesor son las mismas.