Java Development Kit (JDK ) Editor de texto
Mostrar más instrucciones
1
recorrer el árbol binario utilizando en el recorrido en orden . Suponiendo que la clase "BT " representa un árbol binario , el código siguiente muestra cómo imprimir el árbol en orden. Cada nodo tiene un puntero izquierda y derecha que señala a los nodos izquierdo y derecho del nodo actual , junto con un elemento de datos que representa su valor . El en el recorrido en orden atravesará el nodo izquierdo primero hasta golpear nulo, y la impresión nodo de los padres antes de atravesar la derecha y empezar de nuevo . El significa que cualquier nodo sólo se imprimirá si todos sus nodos secundarios del lado izquierdo se imprime primero :
public class BT {
pública finde void ( Nodo x ) {
< p > if ( x == null) {return //detiene la recursividad cuando no hay nodo }
finde ( x.left ) //siempre atravesar la izquierda firstprint x.data //imprimir los datos una vez el returnsinOrder nodo izquierdo ( x.right ) ; //recorrer la derecha }
2
recorrer el árbol en pre - orden. Este orden es similar en el orden , salvo que la impresión del nodo está antes que cualquier recorrido . Así , el nodo se imprimirá su valor y , a continuación, recorrer la izquierda. Entonces , cuando la recursión devuelve al nodo después de atravesar la izquierda , el nodo entonces atravesar la derecha . Esto significa que el nodo siempre se imprimirá en sí antes de que cualquier niño nodos impresión :
pública preorden void ( Nodo x ) {
if ( x == null) {return //detiene la recursividad cuando no hay ningún nodo }
impresión x.data //printinOrder ( x.left ) ; //recorrer leftinOrder ( x.right ) ; //recorrer la derecha }
3
recorrer el árbol después de la orden. Esto es lo contrario del recorrido en preorden . Un nodo siempre se verá a sus nodos izquierda o hacia la derecha antes de la impresión en sí , lo que significa que todos los demás nodos secundarios por debajo de ella se imprimirán primero :
pública postorden void ( Nodo x ) {
if ( x == null) {return //detiene la recursividad cuando no hay nodo }
finde ( x.left ) ; //recorrer leftinOrder ( x.right ) ; //recorrer rightprint x.data //print}