Powered By Blogger

sábado, 22 de octubre de 2011

Arboles

Concepto: Si hablamos en términos de Estructura de datos, esto se refiere a que su estructura imita la forma de un árbol, ya que se compone de ramas, raíz. Un nodo es la unidad sobre la que se construye el árbol y puede tener cero o más 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 (en ese caso, también decimos que b es hijo de a). Sólo puede haber un único nodo sin padres, que llamaremos raíz. Un nodo que no tiene hijos se conoce como hoja. Los demás nodos (tienen padre y uno o varios hijos) se les conoce como rama.
  
Tipos de Arboles: 
-Arboles binarios (Solo tiene 2 hijos).


-Arboles Terciarios (Tiene 3 hijos).



Aplicaciones: 
-Formulas matemáticas.
-Circuitos Eléctricos.
-Arboles  genealógicos.
-Redes.

Programas:
Buscar:  
public boolean buscar(Object o)
 {
   if (o.equals(valor))
     return true;
   else if (o.compareTo(valor)<0)
     return buscar(getIzq(),o);
   else return buscar(getDer(),o);
 }



Insertar:
public NodoBinario insertar(Comparable o){ 
   if (o.compareTo(valor)<0) 
     setIzq(insertar(getIzq(),o)); 
   else setDer(insertar(getDer(),o)); 
   return this;
 }


Recorrer:
 public void preOrder(SList aList)
 {
   aList.addElement(value);
   left.preOrder(aList);
   right.preOrder(aList);
 }
 public void inOrder(SList aList)
 {
   left.inOrder(aList);
   aList.addElement(value);
   right.inOrder(aList);
 }
 public void posOrder(SList aList)
 {
   left.posOrder(aList);
   right.posOrder(aList);
   aList.addElement(value);
 }



 public void preOrder(SList aList)
 {
   aList.addElement(value);
   left.preOrder(aList);
   right.preOrder(aList);
 }
 public void inOrder(SList aList)
 {
   left.inOrder(aList);
   aList.addElement(value);
   right.inOrder(aList);
 }
 public void posOrder(SList aList)
 {
   left.posOrder(aList);
   right.posOrder(aList);
   aList.addElement(value);
 }



Video:  



Fuentes:




No hay comentarios:

Publicar un comentario