“Conocimientos Programación>Programación Java

¿Cómo hacer recorrido postorden en un árbol binario en Java

2011/10/26
Aunque Java no proporciona una clase de árbol binario en las bibliotecas predeterminadas , una clase básica árbol binario es suficientemente simple para ser presentado. Un " recorrido " de una estructura de datos es un algoritmo que visita cada nodo de una vez . Esto se aplica a menudo como una especie de repetidor (al igual que una lista iterador ) o método que llamar a un método de devolución de llamada para cada nodo. En Java , para hacer un " postorder " recorrido que visitará el nodo raíz última , no hay devoluciones de llamada o iteradores son necesarios. La función de recorrido simplemente imprimir cada nodo se visita a la consola. Instrucciones
1

Escribe una búsqueda clase básica árbol binario . Sólo hay dos métodos que deben ser apoyados en esta etapa : un 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 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

Crear una instancia del árbol binario que será el nodo raíz Cada nodo, incluso el nodo raíz , debe tener un valor
< br . > 3

Elija un valor para el nodo raíz que está en algún lugar en medio de los objetos que va a almacenar . por ejemplo, si usted está almacenando una distribución uniforme de los números del 1 al 100 , 50 es una buena opción para el nodo raíz árboles binarios deben ser lo más equilibrada posible , ya que los árboles crecen muy desequilibradas alto y no son muy eficaces ", " BinaryTree b = new BinaryTree ( 50 ), " . ".
4

Insert algunos nodos en el árbol . Desde este árbol no es auto -equilibrio , mantener el equilibrio , los nodos deben insertarse en un orden específico . el orden en el código de ejemplo se hace a mano para hacer posible el árbol más corto y más eficiente ". " b . inserto ( 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 ), " "
5

recorrer el árbol , atravesando el árbol de la izquierda primero , seguido por el árbol de la derecha , y luego , finalmente, el nodo raíz . Si se utiliza recursión para hacer el recorrido postorden , el método es sólo tres líneas de largo . En este caso , la pila sólo va a crecer a la altura del árbol . Desde el árbol de equilibrado y es pequeña , la recursión no se desbordará la pila.
6

Añadir nuevo método a la clase BinaryTree llamada postorder . Aquí , sólo se imprime el valor de cada nodo que visita. " " postorder public void () { if ( izquierdo! = null ) left.postorder (); if ( derecha = null) right.postorder (); ! System.out.println (valor) ;} " "
7

Imprimir los nodos en postorden llamando al método b.postorder después de sus inserciones " " b.postorder (); " .

Programación Java
Cómo ocultar un panel en una JSplitPane
Cómo dibujar un círculo en Java
Cómo hacer que Java Reconocer Cuerdas Odd y Even
Cómo conectar dos casillas desplegables en HTML y JSP
Desarrollo de interfaz de usuario Android
Cómo descargar archivos de código fuente de Java Applet con código HTML
Cómo cambiar el color de la imagen en los applets de Java
Cómo crear JNLP
Conocimientos Informáticos © http://www.ordenador.online