“Conocimiento Programación>Programación Java

¿Cómo hacer recorrido preorden en Binary Tree en Java

2013/6/13
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 (); " .

Programación Java
Razones para una aplicación Java Lang Incompatible Class Change Error
Tutorial sobre cómo escribir applets de Java
Cómo codificar un rectángulo en Java Con Dimensiones azar
No puedo imprimir filas utilizando un applet de Java
Cómo obtener una contraseña protegida URL con Java
El código Java para contar el número de palabras en una matriz
Cómo dividir cadenas mediante Java
Flotador de entrada Java
Conocimiento de la computadora © http://www.ordenador.online