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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Altura de arbol binario
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Altura de arbol binario  (Leído 36,764 veces)
l337*


Desconectado Desconectado

Mensajes: 1.016


I've been thinking...


Ver Perfil
Altura de arbol binario
« en: 21 Febrero 2008, 21:35 pm »

hola, me pasaron este metodo para calcular la altura de un BST.

Código
  1. protected int height(TreeNode tNode) //method that will return height of tree
  2. {
  3. if(tNode == null)   //if empty height 0
  4. {
  5. return 0;
  6. }
  7.  
  8. else  
  9. {
  10. return 1 +(Math.max(height(tNode.getLeft()),height(tNode.getRight())));   //NO ENTIENDO ESTA PARTE, PORQUE EL MATH ???
  11. }
  12. }
  13.  
  14.  


Me podrian explicar la parte de return 1 + ....
??
gracias d antemano


saludz  >:D


En línea

Lu15_CL4

Desconectado Desconectado

Mensajes: 67



Ver Perfil
Re: Altura de arbol binario
« Respuesta #1 en: 23 Febrero 2008, 06:45 am »


^^
el math.max te regresa el valor maximo de los que le pases en este caso le estas pasando 2 valores la longitud del arbol por la derecha y la de su izquierda, solamente te da el mas grande
, nomas preguntaste por el math... ^^, todo el funcionamiento es recursivo es mucha explicacion ^^'...


En línea

Te regalo .1 centavo de dolar diario, registrate aqui, pideme + info por PM ^^, el .1 centavo puede ir creciendo hasta el infinito!!! :xD ^^
Ragnarok
Colaborador
***
Desconectado Desconectado

Mensajes: 4.590


Shrödingerificado


Ver Perfil
Re: Altura de arbol binario
« Respuesta #2 en: 23 Febrero 2008, 21:01 pm »

Para hallar la profundidad de cada nodo toma la profundidad máxima de sus hijos y le suma uno (correspondiente a ese nodo).
En línea

No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones
l337*


Desconectado Desconectado

Mensajes: 1.016


I've been thinking...


Ver Perfil
Re: Altura de arbol binario
« Respuesta #3 en: 23 Febrero 2008, 22:49 pm »

ahh ok maravilloso gracias :)


lo de recursividad si lo entiendo ;)

saludz  >:D
En línea

imnohacker

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Altura de arbol binario
« Respuesta #4 en: 5 Diciembre 2009, 13:08 pm »

Hola se que tal vez es un poco tarde y ya te habras dado cuenta pero para futuras personas que vean este mensaje, les comento que el codigo que pones falla para un caso especial. En que el Nodo raiz no tenga ningun Hijo, para lo que el programa que has puesto dara altura 1 y debería ser 0

Les adjunto el codigo correcto en C estandar

#include "nodoarbol.h"
#include <stdlib.h>

// Funcion auxiliar para calculo del maximo
int max(int a,int b){
   if (a<b)
      return b;
   else
      return a;
}

// Funcion solicitada
int alturaMaxima(PNodoArbol raiz){
   if (raiz != NULL){
      // No Contabilizo los nodos Hoja
      if ((raiz->der==NULL) && (raiz->izq==NULL))
         return 0;
      else
      // Cada vez que avanzo por un hijo aumento altura
         return 1 + max(alturaMaxima(raiz->izq),alturaMaxima(raiz->der));
   }else
      return 0;
}

donde "nodoarbol.h" es:

struct NodoArbol {
 int dato; //Almacena el dato
 struct NodoArbol* izq; //Apunta al subarbol izquierdo (valores menores)
 struct NodoArbol* der; //Apunta al subarbol derecho (valores mayores)
};

typedef struct NodoArbol TNodoArbol, *PNodoArbol;

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda Impresion de Arbol Binario
Programación C/C++
negux 2 4,479 Último mensaje 25 Noviembre 2010, 09:28 am
por Akai
Eliminar nodo en un arbol binario
.NET (C#, VB.NET, ASP)
DaNuK 4 29,322 Último mensaje 6 Diciembre 2010, 20:19 pm
por DaNuK
arbol binario
Programación C/C++
karmi 2 4,441 Último mensaje 14 Diciembre 2010, 22:08 pm
por ANTÓN RAMIREZ
Implementaciones Basicas en un Arbol Binario ....
Programación C/C++
ANTÓN RAMIREZ 0 3,480 Último mensaje 14 Diciembre 2010, 22:11 pm
por ANTÓN RAMIREZ
Escribir una funcion recursiva que encuentre la altura de un arbol binario... ..
Programación C/C++
juancarlossoma 4 8,242 Último mensaje 8 Junio 2012, 00:21 am
por juancarlossoma
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines