2. • Un árbol ordenado es aquel en el cual la distribución de las ramas sigue
cierto orden. Los árboles ordenados de grado 2 son de especial interés
puesto que representan una de las estructuras de datos más importante en
computación, conocida como árboles binarios.
• En un árbol binario cada nodo puede tener como máximo dos subárboles;
y siempre es necesario distinguir entre el subárbol izquierdo y el subárbol
derecho
Árboles binarios
Un árbol binario es un conjunto finito de cero o mas nodos tales que:
➢ Existe un nodo denominado raíz del árbol.
➢ Cada nodo puede tener 0,1, o 2 subárboles, conocidos como subárbol
izquierdo y subárbol derecho
3. Árboles binarios
Árbol binario: Es un árbol que o bien esta vacío
(sin contenido) o bien consta de un nodo raíz
con dos subárboles binarios, denominados
izquierdo y derecho.
➢ La existencia de árboles vacíos es una
convención para que no exista ambigüedad
al identificar el subárbol izquierdo y derecho.
Se representa por un cuadrado.
➢ La altura de un árbol vacío es -1
➢ Cada nodo puede tener 0 hijos (subárbol
izquierdo y derecho vacíos), 1 hijo (algún
subárbol vacío) o 2 hijos.
4. Árboles binarios
Existe un tipo de árbol denominado árbol binario que puede ser implementado
fácilmente en la computadora
Definición
Un árbol binario es un conjunto finito de cero o mas nodos tales que:
- Existe un nodo denominado raíz del árbol.
- Cada nodo puede tener o, 1, ó 2 subárboles, conocidos como subárbol
izquierdo y subárbol derecho.
La figura representa diferentes tipos de
árboles binarios: A) expresión de árbol A +
B C) Y B) son árboles de operación
aritmética con valores enteros
5. Árboles binarios
Si tomamos el gráfico C) de la figura vemos que es
un árbol binario, que cada nodo tiene como
máximo dos hijos.
Démonos cuenta que en cualquier árbol, no solo en
los binarios, si eliminamos el nodo raíz obtenemos
dos árboles.
- Aquel que colgaba del enlace izquierdo del nodo
raíz se denomina subárbol izquierdo
- Aquel que colgaba del enlace derecho se
denomina subárbol derecho.
Además, en un árbol binario, todos los subárboles
son también árboles binarios. De hecho a partir de
cualquier nodo de un árbol podemos definir un
nuevo árbol sin más que considerarlo como su nodo
raíz. Por tanto, cada nodo tiene asociados un
subárbol derecho y uno Izquierdo
6. Árboles binarios
Árbol binario: Es un árbol que o bien esta vacío
(sin contenido) o bien consta de un nodo raíz con
dos subárboles binarios, denominados izquierdo
y derecho.
➢ La existencia de árboles vacíos es una
convención para que no exista ambigüedad al
identificar el subarbol izquierdo y derecho. Se
representa por un cuadrado.
➢ La altura de un árbol vacío es -1
➢ Cada nodo puede tener 0 hijos (subárbol
izquierdo y derecho vacíos), 1 hijo (algún
subárbol vacío) o 2 hijos.
7. ÁRBOLES BINARIOS DISTINTOS, SIMILARES Y
EQUIVALENTES.
Dos árboles binarios son distintos cuando sus estructuras son
diferentes. Ejemplo:
8. Similares
• Dos árboles binarios son similares cuando sus estructuras son
idénticas, pero la información que contienen sus nodos difiere entre
sí.
9. Equivalentes
• Los árboles binarios equivalentes se definen como aquellos que son
similares y además los nodos contienen la misma información.
10. Variantes de árboles binarios
➢ Árbol estricto: Si un subárbol está vacío, el otro también. Cada nodo puede
tener 0 ó 2 hijos.
➢ Árbol lleno: Árbol estricto donde en cada nodo la altura del subárbol
izquierdo es igual a la del derecho, y ambos subárboles son árboles llenos.
➢ Árbol completo: Árbol lleno hasta el penúltimo nivel. En el último nivel los
nodos están agrupados a la izquierda.
11. Árboles completos (I)
➢Los árboles llenos son los árboles con máximo número de nodos (n) para
una altura (h) dada. Se cumple que 𝒏 = 𝟐𝒉+𝟏
− 𝟏
➢El número de nodos de un árbol lleno sólo puede ser una potencia de dos
menos uno: 1, 3, 7, 15, 31, …
➢Los árboles completos pueden almacenar cualquier número de nodos y se
sigue cumpliendo que su altura es proporcional al logaritmo del número de
nodos: h O(log n)
➢Además tienen la propiedad de que conocido el recorrido por niveles del
árbol es posible reconstruirle:
∈
12. Árboles completos (II)
• Es posible almacenar un árbol completo en un vector en el orden dado por
su recorrido por niveles, y a partir del índice de un elemento en el vector
conocer el índice de su nodo padre y los de sus nodos hijos:
Árboles completos (II)