Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Mac en 09 de Octubre 2014, 02:55

Título: concepto de árbol binario completo
Publicado por: Mac en 09 de Octubre 2014, 02:55
Hola Comunidad aquí con la temática de arboles

Necesito hacer esto

Decir cuando un arbol es completo o no es completo

Necesito programar un método boleano al que se le pase una referencia a un arbol binario y devuelva verdadero (true) si el arbol es completo y falso (false) en caso contrario.

Escriba un applet en java  que visualice gráficamente el arbol binario.

como me pueden ayudar orientar ?¿
Muchísimas Gracias
Título: Re:arboles java
Publicado por: Mac en 09 de Octubre 2014, 04:41
Arboles Completos

Un árbol completo se caracteriza porque todos sus nodos terminales tienen la misma altura.

Un árbol binario se dice que es completo, si todos los nodos del árbol , excepto los del ultimo nivel tienen dos hijos: Sub arbol izquierdo y sub arbol derecho.
Título: Re:arboles java
Publicado por: Alex Rodríguez en 09 de Octubre 2014, 14:09
Hola, en árboles binarios tienes nodos hoja y nodos que no son hoja. Un nodo que no tiene hijos se conoce como hoja.

Un árbol binario completo de profundidad p, es un árbol estrictamente binario que tiene todas sus hojas en el nivel p.

Para determinar si el árbol es binario necesitas

a) Recorrer el árbol (en cualquier orden)

b) Si detectas un nodo hoja, anotar cuál es su nivel pNodoHoja

c) Para cada nodo hoja siguiente, verificar que su nivel es pNodoHoja. Si no es así, puedes detener el proceso y devolver como resultado "El árbol no es completo" (false)

d) Si tras recorrer el árbol todos los nodos hojas están en el mismo nivel, entonces el árbol es completo y puedes devolver como resultado "El árbol es completo" (true)


Resumiendo necesitas: un método (cualquiera) para recorrer el árbol, un método para comprobar si un nodo es hoja y un método para comprobar el nivel de un nodo. Con eso puedes armar la solución.

Saludos