miércoles, 11 de diciembre de 2013

Árbol Binario

ÁRBOL BINARIO


Un árbol es conjunto de nodos que cumple con las relaciones padre, hijo y hermano.
llamamos hijos de un nodo a todos los nodos que podemos llegar directamente por medio de un apuntador, llamaremos padre al nodo del cual proviene el nodo hijo. Existe un nodo que no tiene padre y le llamamos raíz del árbol.
Hasta ahora el análisis de estructura de datos se ha limitado a los arboles en que cada nodo tiene como máximo dos descendientes o hijos, es decir, a los arboles binarios. Esto resulta perfectamente apropiado si , por ejemplo, se requiere representar relaciones familiares en las que cada persona se encuentre relacionada con sus padres. Pero si la relación es a la inversa necesitamos una estructura que asocie a cada padre un numero arbitrario de hijos.
Un árbol es una estructura jerárquica de datos que imita la forma de un árbol, un conjunto de nodos conectados. Un nodo es la unidad sobre la que se construye el árbol y puede tener ceros o mas nodos hijos conectados a él. Se dice que un nodo a es padre de un nodo b si existe un enlace desde a hasta b. Solo puede haber un único nodo sin padres, que llamaremos raíz. Un nodo que no tiene hijos se conoce como hoja y a los demás nodos se les conoce como ramas.Formalmente,un árbol se puede definir de manera recursiva, se utiliza la recursión para definir un árbol porque es una característica inherente a los mismos.



UML NODO -ARBOL




UML ARBOL


SOLUCIÓN EN JAVA

Nodo correspondiente de Árbol



Aquí se encuentra los atributos de la clase NodoArbol y los constructores de la clase.



Aquí se encuentra los atributos de la clase encapsulados.










Árbol Binario


Aquí se encuentra el atributo de la clase, el constructor de la clase y el get y set.




Aquí se encuentra el método insertar que crea el nodo que vamos a insertar y el método  inOrden donde recorre el subarbol izquierdo, visita la raiz y recorre el subarbol derecho.

Aquí se encuentra el metodo preOrden donde visita la raiz, recorre el subarbol izquierdo y recorre el subarbol derecho y postOrden donde recorre el subarbol izquierdo, recorre el subarbol derecho y visita la raiz.



Prueba Árbol

Aquí se muestra la clase PruebaArbol.







En las siguientes pantallas se muestra el resultado de los tres recorridos: inOrden, preOrden y postOrden.













CONCLUSIÓN





Nosotros llegamos a la conclusión de que este proyecto puede ser útil en múltiples áreas ya que los arboles son estructuras compuestas por nodos, utilizadas para la solución de una gran variedad problemas, ya que pueden implementarse fácilmente en un ordenador.

Ademas el uso de los arboles permite a los usuarios mejorar o modificar el programa de acuerdo a las necesidades que se tengan haciéndolo ya sea, con una interfaz mucho mas dinámica a la ya existente o implementa mejoras que ninguna otra aplicación antes tuviera de acuerdo a sus propiedades.


   

No hay comentarios:

Publicar un comentario