Inorden
Para recorrer un árbol binario no vacío en inorden (simétrico),
hay que realizar las siguientes operaciones recursivamente en cada nodo:
1.
Atraviese el sub-árbol izquierdo
2.
Visite la raíz
3.
Atraviese el sub-árbol derecho
Codigo:
public synchronized void recorridoInorden()
{
ayudanteInorden(raiz);
}
//metodo
recursivo para recorrido inorden
private void ayudanteInorden(
NodoArbol nodo)
{
if(nodo
== null)
return;
ayudanteInorden(nodo.nodoizquierdo);
System.out.print(nodo.datos
+ " ");
ayudanteInorden(nodo.nododerecho);
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Postorden
Para recorrer un árbol binario no vacío en postorden, hay que realizar
las siguientes operaciones recursivamente en cada nodo:
1.
Atraviese el sub-árbol izquierdo
2.
Atraviese el sub-árbol derecho
3.
Visite la raíz
public synchronized void recorridoPosorden()
{
ayudantePosorden(raiz);
}
//meotod
recursivo para recorrido posorden
private void ayudantePosorden(NodoArbol
nodo)
{
if(
nodo == null )
return;
ayudantePosorden(nodo.nodoizquierdo);
ayudantePosorden(nodo.nododerecho);
System.out.print(nodo.datos
+ " ");
}
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Preorden
Para recorrer un árbol binario no vacío en preorden, hay que realizar
las siguientes operaciones recursivamente en cada nodo, comenzando con el nodo
de raíz:
1.
Visite la raíz
2.
Atraviese el sub-árbol izquierdo
3.
Atraviese el sub-árbol derecho
Codigo:
public synchronized void recorridoPreorden()
{
ayudantePreorden(raiz);
}
//meoto
recursivo para recorrido en preorden
private void ayudantePreorden(NodoArbol
nodo)
{
if(nodo
== null)
return;
System.out.print(nodo.datos
+ " "); //mostrar datos del nodo
ayudantePreorden(nodo.nodoizquierdo);
//recorre subarbol izquierdo
ayudantePreorden(nodo.nododerecho);
//recorre subarbol derecho
}