altura de un arbol B+
Publicado por rochi (1 intervención) el 29/08/2005 22:46:23
Hola estoy algo trancada con la función que me de la altura de un arbol B. Esto es, un árbol que puede tener entre 1 - cantHijos, cantHijos >= 1.
Lo estoy implementando en C, y esta es la estructura:
struct Afe
{
int valor;
int cantHijos;
struct Afe** hijos; // array de ptrs
};
AfeHijo(arbol,i), da el subárbol que está en la posición i.
Aqui está la función, pero no anda...hm es la altura en cuestión
void AfeHeight(Afe* arbol, int &hm, int &ha)
{
int i;
if (!AfeEsVacio(arbol))
{
ha++;
for(i = 0; (i < AfeCantHijos(arbol)); i++)
{
AfeHeight(AfeHijo(arbol,i),hm,ha);
if (ha > hm)
hm = ha;
ha = 0;
}
}
ha = 0;
}
gracias desde ya, saludos
Lo estoy implementando en C, y esta es la estructura:
struct Afe
{
int valor;
int cantHijos;
struct Afe** hijos; // array de ptrs
};
AfeHijo(arbol,i), da el subárbol que está en la posición i.
Aqui está la función, pero no anda...hm es la altura en cuestión
void AfeHeight(Afe* arbol, int &hm, int &ha)
{
int i;
if (!AfeEsVacio(arbol))
{
ha++;
for(i = 0; (i < AfeCantHijos(arbol)); i++)
{
AfeHeight(AfeHijo(arbol,i),hm,ha);
if (ha > hm)
hm = ha;
ha = 0;
}
}
ha = 0;
}
gracias desde ya, saludos
Valora esta pregunta


0