puede representarse
como un conjunto de
nodos enlazados entre
sí por medio de ramas
permiten modelar diversas
entidades del mundo real tales
como, por ejemplo, el índice de un
libro, la clasificación del reino
animal, el árbol genealógico de un
apellido, etc.
se dice que un árbol es completo cuando todos
sus nodos (excepto las hojas) tienen el mismo
grado y los diferentes niveles están poblados por
completo.
Arboles Binarios
Recorridos. Se entiende por recorrido el
tratamiento realizado para acceder a los
diferentes nodos de un árbol.
el recorrido se puede
realizar basándose en las
siguientes modalidades:
En profundidad. Se progresa verticalmente
desde la raíz hacia las hojas y, en principio, de
izquierda a derecha.
Preorden. La clave se procesa en primer lugar.
Postorden. Se desciende
recursivamente por la rama
izquierda, al alcanzar el final de dicha
rama, se retorna y se desciende por
la rama derecha
Orden central. Se desciende
recursivamente por la rama
izquierda
.Búsqueda.
por ejemplo: ejemplo si se
implementa un método
(búsqueda) que recibe como
argumentos un árbol y una
clave (ambos pasados por valor)
y devuelve true si dicha clave se
encuentra en el árbol, y false en
caso contrario.
Creación de un árbol.
Para insertar claves en un árbol es
necesario establecer previamente un
criterio. Normalmente no se permite
insertar claves repetidas
Tratamiento de hojas. En este tipo de algoritmos
se trata de evaluar la condición de que un nodo
del árbol sea una hoja
Arboles Binarios De Busqueda
Algoritmos de consulta.
Un árbol binario de búsqueda es un tipo de árbol binario
en el que se verifica para todo nodo que las claves de su
subárbol izquierdo son menores que las de dicho nodo y
las claves de su subárbol derecho son mayores.
Algoritmos de modificación.
Inserción. Se trata de crear un nuevo
nodo en la posición que le corresponda
según el criterio de árbol binario de
búsqueda.
Eliminación: eliminación de un nodo en un árbol
binario de búsqueda implica una reorganización
posterior del mismo con el objeto de que una vez
eliminado el nodo el árbol mantenga su
naturaleza de búsqueda
Arbol Sobre Matriz
Clases y constructores
Recorridos en profundidad
Búsqueda. Para realizar una búsqueda en un
árbol binario de búsqueda sobre matriz, es
necesario comprobar primero si no hemos
llegado a un nodo vacío (if (i != NULL), en cuyo
caso devolveremos false como resultado), y
luego vamos avanzando por la rama
correspondiente
Inserción. Para realizar la inserción en un
árbol binario de búsqueda sobre matriz, es
necesario comprobar primero si todavía
no está lleno el árbol (comprobando la
variable miembro numNodos). Si se va a
insertar en un árbol vacío, la inserción se
hará en el método de llamada (insertar)
Eliminación
Conceptos Generales
Al nodo base, debe ser único, se le
denomina raíz se representa
gráficamente en la parte superior.
En un árbol se representa una relación
jerárquica a partir del nodo raíz en
sentido vertical descendente, definiendo
niveles1 . El nivel del nodo raíz es 1.
Desde la raíz se puede llegar a
cualquier nodo progresando por las
ramas y atravesando los sucesivos
niveles estableciendo así un camino
Se dice que un nodo es antecesor de
otro cuando ambos forman parte de
un camino y el primero se encuentra
en un nivel superior
La relación entre dos nodos
separados de forma inmediata por
una rama se denomina padre/hijo.
Se denomina grado al número
de hijos de un nodo.
Se dice que un nodo es hoja cuando
no tiene descendientes (grado 0).
Atributos De Un Arbol
Altura / profundidad / nivel
Amplitud / Anchura: El
número de nodos del nivel
más poblado