/ **
* *
* 【Título】
* El proceso de grabación del árbol binario como un archivo se llama serialización del árbol binario, y el árbol binario original se reconstruye a partir del contenido del archivo.
* Cheng se llama deserialización de un árbol binario. Dada la cabeza del nodo principal de un árbol binario, y el tipo del valor del nodo del árbol binario es
* Entero de 32 bits. Diseñe un esquema de serialización de árbol binario e impleméntelo en código.
* 【Solución】
* La serialización y la deserialización se realizan recorriendo en secuencia.
* Primero introduzca el proceso de serialización bajo el recorrido de preorden. Primero suponga que la cadena de resultados serializada es str, e inicialmente str = "".
* Atraviese primero el árbol binario, si se encuentra un nodo nulo, agregue "#!" Al final de str, "#" significa que este nodo está vacío,
* El valor del nodo no existe, "!" Indica el final de un valor; si se encuentra un nodo que no está vacío, suponiendo que el valor del nodo es 3, es
* Agregue "3!" Al final de str.
* *
* @autor Xuetong
* @Slogan El reloj aún se mueve, ¿cómo puede la gente detenerse aquí?
* @Función serializar árbol binario
* *
* /
clase pública SerivalTree {
Cadena estática pública servialTree (cabeza de nodo)
if (head == null) {
regreso "#!";
}
Cadena res = head.value + "!";
res + = servialTree (head.left);
res + = servialTree (head.right);
volver res;
}
public static void main (String [] args) {
Cabezal de nodo = nuevo nodo (1);
Nodo izquierdo = nuevo Nodo (2);
Nodo derecho = nuevo Nodo (3);
head.right = right;
head.left = left;
Resultado de la cadena = servialTree (cabeza);
System.out.println (resultado);
}
}
Nodo de clase {
valor int público;
derecho de nodo público;
Nodo público a la izquierda;
Nodo público (datos int) {
this.value = data;
}
}