Para hacer un " recorrido " de un árbol binario de Java significa que hacer un procesamiento algorítmico de los nodos en algún tipo de orden. Un " orden previo " transversal significa que el nodo raíz se procesa primero , y luego el resto de los nodos del árbol se procesan de forma recursiva . La función de recorrido simplemente imprimir cada nodo se visita a la consola. Instrucciones
1
Crear una clase de árbol binario de búsqueda simple que tiene un constructor que inicializa básica el valor del nodo . También se incluye debe ser un método de inserción de recorrer un árbol y crear un nuevo nodo en el lugar correcto . " " clase pública BinaryTree { BinaryTree izquierda ; BinaryTree derecho , valor int ; pública BinaryTree (int v ) {value = v ;} //Insertar un valor en el árbol de inserción public void (int v ) { if ( v if ( izquierda = = null) izquierda = new BinaryTree ( v ) , de otra left.insert ( v ) ; } else if ( v > valor) {if (derecha == null) derecha = new BinaryTree ( v ) , de otra right.insert ( v ) ; . } } } " "
2
Construir el nodo raíz del árbol binario, asignándole un valor que está cerca de la media de la de los objetos que va a almacenar esta garantizará la eficiencia , ya que el árbol binario tiene que estar bastante bien equilibrada Si está almacenando una distribución de los números del 1 al 100, por ejemplo , 50 es un buen valor para el nodo raíz " " BinaryTree b = new BinaryTree ( 50 ), " . ".
3
Insertar nodos en el árbol en un orden determinado . el árbol binario no es auto - equilibrado , por lo que la inserción de nodos en un orden específico ayuda a mantener el equilibrio. Aquí los nodos son el lugar para hacer un árbol corto y eficiente equilibrada " " b.insert ( 20 ) ; . b.insert ( 40 ) ; b.insert ( 10 ) ; b.insert ( 5 ) ; b.insert ( 45 ) ; b.insert ( 70 ) ; b.insert ( 60 ) ; b.insert ( 80 ) ; b.insert ( 55 ) ; b.insert ( 85 ), " "
4
hacer un recorrido preorden atravesando el el nodo raíz , luego el árbol de la izquierda y , finalmente, el árbol de la derecha . es fácil de hacer esto de forma recursiva con un pequeño árbol binario , ya que no se desborde la pila. Si su árbol binario es muy grande , la función de recorrido se debe implementar iterativa .
5
Añadir un nuevo método , preventa , a la clase BinaryTree . Aquí el único método imprime el valor de cada nodo que visita. " " preorder public void () { System.out.println (valor ), si (izquierda = null !) left.preorder ( ), si (a la derecha = null !) right.preorder (); } " "
6
Llame al nuevo método después de sus inserciones para imprimir los nodos en preorden " " b.preorder (); " .