“Conocimiento Programación>Programación Java

¿Cómo hacer recorrido en orden de Binary Tree en Java

2016/5/6
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 (); "

Programación Java
Como salida de una cadena en Java
Tutoriales de Java Collection
Cómo convertir clase Java con el Código
¿Cómo puedo instalar Java en mi equipo HP
Cómo declarar un constructor en Java
Cómo crear un Programa de Ping en Java
Tipos de excepciones en Java
¿Cuál es la sintaxis para representar un número de punto flotante en Java usando flotante literal?
Conocimiento de la computadora © http://www.ordenador.online