ARBOLES
En ciencia de la computación, un árbol es una estructura de datos ampliamente usada que emula la forma de un árbol (un conjunto de nodos conectados). Un nodo es la unidad sobre la que se construye el árbol y puede tener cero o mas nodos hijos conectados a él. Se dice que un nodo a es padre de un nodo b, si existe un enlace desde a hasta b (en ese caso, también decimos que b es hijo de a). Sólo puede haber un único nodo sin padres, que llamaremos raíz. Un nodo que no tiene hijos se conoce como hoja.
El árbol También se define como una estructura de datos no lineal. Esta estructura se usa principalmente para representar datos con una relación jerárquica entre sus elementos, como por ejemplo registros, árboles genealógicos y tablas de contenidos. Entre otros tenemos un tipo especial de de árbol que es, llamado árbol binario, que puede ser implementado fácilmente en la computadora.
ARBOLES
Package arboles;
/**
*
* @author Greyscp
*/
class Nodo
{
int info;
Nodo izq, der;
}
public class ArbolBinario
{
Nodo raiz;
public ArbolBinario()
{
raiz=null;
}
public void insertar (int info)
{
Nodo nuevo;
nuevo = new Nodo ();
nuevo.info = info;
nuevo.izq = null;
nuevo.der = null;
if (raiz == null)
raiz = nuevo;
else
{
Nodo anterior = null, reco;
reco = raiz;
while (reco != null)
{
anterior = reco;
if (info < reco.info)
reco = reco.izq;
else
reco = reco.der;
}
if (info < anterior.info)
anterior.izq = nuevo;
else
anterior.der = nuevo;
}
}
private void imprimirPre (Nodo reco)
{
if (reco != null)
{
System.out.print(reco.info + " ");
imprimirPre (reco.izq);
imprimirPre (reco.der);
}
}
public void imprimirPre ()
{
imprimirPre (raiz);
System.out.println();
}
private void imprimirEntre (Nodo reco)
{
if (reco != null)
{
imprimirEntre (reco.izq);
System.out.print(reco.info + " ");
imprimirEntre (reco.der);
}
}
public void imprimirEntre ()
{
imprimirEntre (raiz);
System.out.println();
}
private void imprimirPost (Nodo reco)
{
if (reco != null)
{
imprimirPost (reco.izq);
imprimirPost (reco.der);
System.out.print(reco.info + " ");
}
}
public void imprimirPost ()
{
imprimirPost (raiz);
System.out.println();
}
}
MAIN
package arboles;
/**
*
* @author Greyscp
*/
public class Principal {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
ArbolBinario ab= new ArbolBinario();
ab.insertar(1);
ab.insertar(2);
ab.insertar(3);
ab.insertar(4);
ab.insertar(5);
ab.insertar(6);
ab.insertar(7);
System.out.println("imprimir preorden");
ab.imprimirPre();
System.out.println("imprimir intOrden");
ab.imprimirEntre();
System.out.println("imprimir postOrden");
ab.imprimirPost();
}
}
No hay comentarios.:
Publicar un comentario