elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Escribir una funcion recursiva que encuentre la altura de un arbol binario... ..
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Escribir una funcion recursiva que encuentre la altura de un arbol binario... ..  (Leído 7,867 veces)
juancarlossoma

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Escribir una funcion recursiva que encuentre la altura de un arbol binario... ..
« en: 6 Junio 2012, 06:30 am »

Buena noche comunidad e elhacker... cargo un codigo en este for para preguntar como puedo complementar este codigo para que sea recursivo y encuentre la altura de un arbol... agradecería muccho su información . ...
 #include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>

struct nodoarbol{                        //ESTRUCTURA DEL ARBOL
   struct nodoarbol *izqnodo;
   int info;
   struct nodoarbol *dernodo;
   };
typedef struct nodoarbol NODO;    //DEFINICION DE TIPO NODO
typedef NODO *ARBOL;               //DECLARACION DE VARIABLE PUNTERO A NODO

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
void insertanodonuevo(ARBOL *,int);    //DECLARACION DE FUNCIONES
void inorden(ARBOL);
void preorden(ARBOL);
void postorden(ARBOL);
void treefree(ARBOL);
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

/*-----------------------<FUNCION PRINCIPAL>--------------------------------*/
main(){
int i;                         
char newnod,chain[200],elementos;   
ARBOL raiz=NULL;               
printf("\n\n\t\t INGRESE DATOS PARA CREAR ARBOL BINARIO:  \n"); //MAXIMO DE CARACTERES 200
printf("\n\t\t"); gets(chain);
elementos=strlen(chain);   
for(i=1;i<=elementos;i++)  {
       newnod=chain[i-1];
     insertanodonuevo(&raiz,newnod);
}
printf("\n\n preorden ¯¯\t");
preorden(raiz);               
printf("\n\n inorden  ¯¯\t");
inorden(raiz);                 
printf("\n\n postorden ¯¯\t");
postorden(raiz);                //LLAMADO A FUNCION DE RECORRIDO EN POSTORDEN
getch();
treefree(raiz);           
raiz=NULL;   
return 0;
}

void insertanodonuevo(ARBOL *rarbol,int nuevo){
 if(*rarbol==NULL){                         
 *rarbol=(NODO *)malloc(sizeof(NODO));
 if(*rarbol!=NULL){
 (*rarbol)->info=nuevo;
 (*rarbol)->izqnodo =NULL;
 (*rarbol)->dernodo=NULL;
 }
 else{printf("\n­­­­ Memoria No Disponible !!!!\n");}
 }
 else
   if(nuevo<(*rarbol)->info)
      insertanodonuevo(&((*rarbol)->izqnodo),nuevo); 
   else
      if(nuevo>(*rarbol)->info) 
         insertanodonuevo(&((*rarbol)->dernodo),nuevo); 
}
void preorden(ARBOL rarbol){
if(rarbol!=NULL){
printf(" %c ",rarbol->info);
preorden(rarbol->izqnodo);
preorden(rarbol->dernodo);

}
}
void inorden(ARBOL rarbol){
if(rarbol!=NULL){
inorden(rarbol->izqnodo);
printf(" %c ",rarbol->info);
inorden(rarbol->dernodo);

}

}
void postorden(ARBOL rarbol){
if(rarbol!=NULL){
postorden(rarbol->izqnodo);
postorden(rarbol->dernodo);
printf(" %c ",rarbol->info);
}
}
void treefree(ARBOL rarbol){
if(rarbol!=NULL){
treefree(rarbol->izqnodo);
treefree(rarbol->dernodo);
free(rarbol);
}
}
 :-(      :laugh:


En línea

caldera_titin

Desconectado Desconectado

Mensajes: 6


que weaaa logoooo


Ver Perfil
Re: Escribir una funcion recursiva que encuentre la altura de un arbol binario... ..
« Respuesta #1 en: 7 Junio 2012, 05:06 am »

La altura de un arbol? mmm.. no entiendo el contexto que lo nesecita, pero para calcular la altura de cualquier cosa puedes usar el seno de la funcion dependiendo de el angulo que forma una linea imaginaria con la sombra


En línea

"Solo estas tu y yo, tenemos 2 panes, tu te comes 2 y yo ninguno... ¿cual es el promedio? 1 pan por persona..."
durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: Escribir una funcion recursiva que encuentre la altura de un arbol binario... ..
« Respuesta #2 en: 7 Junio 2012, 07:47 am »

xDDDDDDD
En línea

Ahorrate una pregunta, lee el man
do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: Escribir una funcion recursiva que encuentre la altura de un arbol binario... ..
« Respuesta #3 en: 7 Junio 2012, 11:22 am »

¡Buenas!

Es muy facil. Tendras que tener una funcion que reciba un puntero a arbol. Si el puntero es nulo devuelve 0, sino devolveras 1 + maximo de las alturas de las ramas izquierda y derecha. (Si, creo que si). La implementacion te toca a ti.

¡Saludos!
En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
juancarlossoma

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Escribir una funcion recursiva que encuentre la altura de un arbol binario... ..
« Respuesta #4 en: 8 Junio 2012, 00:21 am »

Podría alguien ayudarme a como hacer esa función ya implementada,  pues ya llevo varias noches probando sobre.. como implementar el calculo de la altura de este arbol  ;-)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Altura de arbol binario
Java
l337* 4 36,523 Último mensaje 5 Diciembre 2009, 13:08 pm
por imnohacker
Función recursiva de búsqueda.
Programación C/C++
APOKLIPTICO 1 2,651 Último mensaje 4 Junio 2010, 21:51 pm
por [D4N93R]
arbol binario
Programación C/C++
karmi 2 4,132 Último mensaje 14 Diciembre 2010, 22:08 pm
por ANTÓN RAMIREZ
Duda con función recursiva « 1 2 »
Programación C/C++
DickGumshoe 16 7,119 Último mensaje 8 Junio 2012, 05:02 am
por Ferno
Es necesario escribir return; al final de una funcion, y void?
Programación C/C++
RGT 2 2,074 Último mensaje 29 Marzo 2015, 17:53 pm
por rir3760
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines