Java no tiene una clase de árbol binario , aunque es fácil de presentar una versión de la estructura de datos para hacer un recorrido en orden . Un " recorrido " de un árbol binario es un procedimiento fórmulas para visitar cada nodo en el árbol binario de una vez . Un recorrido finde va a hacer esto de forma ordenada . Traversal se suele implementar como una cierta clase de iterador (como un iterador de lista ) o por un método que va a llamar a un método de devolución de llamada para cada nodo. Puede, sin embargo , hacer esto sin usar callbacks iteradores o , en lugar de imprimir a la consola de cada nodo visitado. Instrucciones
1
Crear una clase de búsqueda básica árbol binario . En este momento, no necesitará utilizar un método constructor básico que inicializa el valor del nodo y un método de inserción. El método de inserción será recorrer un árbol y hacer 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
Crear la instancia ( nodo) del árbol binario que será el nodo raíz como cualquier otro nodo, el nodo raíz debe tener un valor lo general es mejor para seleccionar un valor cercano a la mediana de los objetos que está almacenando , como árboles binarios deben ser lo más equilibrada posible " " BinaryTree b = new BinaryTree ( 50 ), " . "
3 < . . p > Insertar nodos en el árbol con el fin específico para conservar el equilibrio , ya que este árbol binario no es auto - equilibrio de este ejemplo se crea el árbol más pequeño posible con el fin de mantener la eficiencia " " 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
moverse a través del árbol mediante un recorrido en orden el árbol de la izquierda se atraviesa en primer lugar, seguido por el nodo raíz, y luego el árbol correcto es . atravesada . Usando recursividad , el código no es más que tres líneas. sin embargo, desde la recursividad tiene espacio en la pila , debe usarse con cuidado. Con un árbol binario pequeño y equilibrado , la recursividad no se desborde la pila.
5 < p> Añadir un nuevo método a la clase Java llamada BinaryTree finde " " finde public void () {if (izquierda = null !) left.inorder ( ) . System.out.println (valor) ; ! if ( derecha = null ) right.inorder (); } " "
6
Llame al método finde después de los puntos de inserción para imprimir los nodos en forma ordenada . " " b.inorder (); "