Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Definición
Un árbol es una estructura dinámica que permite establecer una relación
jerárquica entre sus elementos.
La relación está dada por niveles.
La relación más directa es la de padre – hijo.
Observaciones
Un padre puede tener múltiples hijos.
Un hijo a su vez, puede ser padre de más hijos.
Al único nodo que no tiene padre se le llama raíz.
Si un hijo no tiene descendencia, se le llama nodo hoja.
Representación Gráfica
Árboles Binarios
Un árbol binario es una estructura de árbol limitada, de manera que tan solo
pueda tener cada padre de cero a dos hijos.
Definición de Clase
Un árbol binario requiere una estructura de Nodo que permita almacenar el
dato correspondiente, además de una liga al Hijo izquierdo y una más al
Hijo Derecho.
El árbol será una liga al Nodo Raíz, a partir del cual se podrá acceder al
resto de la estructura.
Definición de Clase NodoDeArbol
public class NodoDeArbol{
int dato; //Para hacer transparentes los métodos
NodoDeArbol izq;
NodoDeArbol der;
}
Observación – La estructura es equivalente a la de un Nodo de listas doblemente
ligadas, pero los métodos son diferentes.
Definición de Clase Árbol
public class Arbol{
NodoDeArbol raiz;
public Arbol(){
raiz = null;
}
public Arbol(String d){
raiz = new NodoDeArbol(d);
}
public Arbol(NodoDeArbol n){
raiz = n;
}
}
Métodos
Los métodos principales son:
Recorridos
Inserción
Eliminación
Métodos secundarios:
HijoDe
PadreDe
Vacío
Recorridos en Árboles
Evidentemente, recorrer un árbol no es un método lineal, por lo que
frecuentemente se utiliza recursión.
Existen al menos dos formas de recorrer un árbol:
A lo ancho
A lo profundo
Recorrido a lo Ancho
Para recorrer un árbol a lo ancho, se debe agregar a una cola cada uno de
los hijos del nodo raíz, luego, llamar recursivamente al procedimiento sobre
la cola, hasta que ésta se encuentre vacía.
Recorrido a lo Ancho
Recorrido a lo Profundo
Para recorrer un árbol a lo profundo, se debe ejecutar simplemente el
recorrido sobre cada uno de los nodos hijos del nodo actual.
Ejercicio: Sea el siguiente árbol, ejecute el recorrido a lo profundo y obtenga la
secuencia numérica correspondiente.
Inserción en Árboles
Ahora, se trata de insertar el siguiente dato: 6, que por ser mayor que 5 se
debería insertar a su derecha.
Como ya existe un nodo hijo derecho de 5, se llama nuevamente al
procedimiento de inserción en ése nodo.
De esta manera, insertaremos el dato 6 como si el nodo 8 fuera la raíz del
árbol.
Como 6 es menor que 8, se inserta a su izquierda.
CODIGO GENERADO
public Arboles()
{
raiz=null;
}
CODIGO DE BOTONES