“Conocimientos Programación>Programación Java

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

2012/5/23
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 un indicador de entrada de cadena en Java
¿Cuáles son Grails en Java
Cómo escribir programas Java
Cómo hacer un botón de salida para el Android
Cómo conectar dos casillas desplegables en HTML y JSP
Cómo crear un juego Hangman Con Java
Cómo subir una foto en una aplicación de escritorio en Java
¿Cómo ejecuto Jar archivos Java Con Windows Vista
Conocimientos Informáticos © http://www.ordenador.online