Ayuda Arbol binario
Publicado por alejandro (2 intervenciones) el 13/02/2012 01:24:35
Hola comunidad pues aqui buscando un poco de ayuda creando un arbol binario les platico como esta y les mando un cacho de mi codigo
mi arbol empieza con un nodo (la raiz) con 2 hijos de la misma clase nodo ya con un caracter (numero o letra no importa) empeizo a agregar nodos de izquierda a derecha por nivel... es decir algo asi...
*agregando al arbol con raiz 0 los numeros 123456789*
0
1 2
3 4 5 6
7 8 9
y demas... pero al implementar mi codigo (q les envio mi funcion insertar por cierto la intento hacer recursiva) solo me imprime hasta el 6 y los hijos 3 4 5 y 6 vacios =(
public void insertar (Nodo n, char c)
{
if (n.izq==null){n.izq = new Nodo(c);}
else if (n.der==null){n.der = new Nodo(c);}
else //if(n.izq != null && n.der != null)
{
if(n.izq.izq==null){insertar(n.izq,c);}
else if(n.izq.der==null){insertar(n.izq,c);}
else if(n.der.izq==null){insertar(n.der,c);}
else if(n.der.der==null){insertar(n.der,c);}
}
}
disculpen si fue tardado pero queria hacerlo lo mas ilustrado posible de antemano gracias
mi arbol empieza con un nodo (la raiz) con 2 hijos de la misma clase nodo ya con un caracter (numero o letra no importa) empeizo a agregar nodos de izquierda a derecha por nivel... es decir algo asi...
*agregando al arbol con raiz 0 los numeros 123456789*
0
1 2
3 4 5 6
7 8 9
y demas... pero al implementar mi codigo (q les envio mi funcion insertar por cierto la intento hacer recursiva) solo me imprime hasta el 6 y los hijos 3 4 5 y 6 vacios =(
public void insertar (Nodo n, char c)
{
if (n.izq==null){n.izq = new Nodo(c);}
else if (n.der==null){n.der = new Nodo(c);}
else //if(n.izq != null && n.der != null)
{
if(n.izq.izq==null){insertar(n.izq,c);}
else if(n.izq.der==null){insertar(n.izq,c);}
else if(n.der.izq==null){insertar(n.der,c);}
else if(n.der.der==null){insertar(n.der,c);}
}
}
disculpen si fue tardado pero queria hacerlo lo mas ilustrado posible de antemano gracias
Valora esta pregunta
0