Cita:
Iniciado por sam90 la funcion puede variar de la implementacion. Pero mas o menos seria asi: Con nivel te refieres a la altura maxima, no?
Bueno mas o menos seria asi
int nivel (miarbol)
if miarbol == hoja then return 1;
else
{
a = nivel(hijoizquierdo);
b = nivel(hijoderecho);
return max(a,b) +1
}
Obviamente que todo depende de como lo implementaste.
Mira asi tengo mi arbol
El for para llenarlo d 15 numeros aleatorios y al final la funcion de inserta los nodos
for (k=1; k<=15; k++)
{
num=rand()%100;
//Dentro del for llamo la funcion de insertar nodo para ir haciendo el arbol
Raiz=InsertaNodo(num, Raiz);
printf("\t%d\n", num);
}
NodoArbol* InsertaNodo(int valor, NodoArbol *subArbol)
{
if(subArbol==NULL)
{
subArbol=new NodoArbol;
subArbol->HijoIzquierdo=subArbol->HijoDerecho=NULL;
subArbol->dato=valor;
}
else
if(valor<subArbol->dato)
subArbol->HijoIzquierdo=InsertaNodo(valor, subArbol->HijoIzquierdo);
else
subArbol->HijoDerecho=InsertaNodo(valor, subArbol->HijoDerecho);
return(subArbol);
}