1. República Bolivariana de Venezuela
Instituto Universitario de Tecnología
“Antonio José de Sucre”
Extensión San Felipe
ESTRUCTURA DE ARBOLES
AUTOR:
JOSÉ GABRIEL LUCENA
CI:30.840.291
SAN FELIPE
2. Definición instructiva y formal de la estructura de árbol
Una estructura de árbol es una estructura de datos jerárquica en la
que cada elemento, llamado nodo, tiene cero o más nodos hijos. Los nodos
hijos se organizan en niveles, con el nodo raíz en el nivel superior y los
nodos hojas en el nivel inferior.
Los árboles se utilizan para representar datos que tienen una
estructura jerárquica, como el árbol genealógico de una familia, la estructura
de directorios de un sistema de archivos o la estructura de un menú de
navegación.
La estructura de árbol es un tipo de estructura de datos no lineal que
consiste en un conjunto de nodos conectados entre sí de forma jerárquica.
Cada nodo tiene un único nodo padre, excepto el nodo superior que no tiene
padre y se le conoce como la raíz del árbol. Los nodos que no tienen hijos se
llaman nodos hoja.
En general, un árbol se compone de un conjunto finito de nodos y un
conjunto de aristas que conectan los nodos entre sí. Cada nodo puede tener
cero o más nodos hijos, y la relación entre los nodos refleja una relación de
jerarquía o subordinación.
La estructura de árbol es ampliamente utilizada en informática para
representar datos de forma jerárquica, como en la representación de
sistemas de archivos, la organización de información en una base de datos,
o la estructura de un árbol genealógico.
3. Concepto de Árbol binario. Ejemplos
Un árbol binario es una estructura de datos jerárquica en la que cada
nodo tiene como máximo dos hijos, comúnmente denominados hijo izquierdo
e hijo derecho, los nodos hijos se organizan en niveles, con el nodo raíz en el
nivel superior y los nodos hojas en el nivel inferior.
Los árboles binarios se utilizan para representar datos que tienen una
estructura jerárquica, como el árbol genealógico de una familia, la estructura
de directorios de un sistema de archivos o la estructura de un menú de
navegación.
La estructura de un árbol binario se compone de nodos
interconectados mediante enlaces, con un nodo especial llamado raíz que es
el nodo superior del árbol.
Los nodos que no tienen hijos se llaman nodos hoja, y los nodos que
tienen al menos un hijo se llaman nodos internos. La profundidad de un nodo
en un árbol binario es la longitud del camino desde la raíz hasta ese nodo, y
la altura del árbol es la longitud máxima de un camino desde la raíz hasta
una hoja.
Los árboles binarios tienen diversas aplicaciones en informática, como
en la implementación de árboles de búsqueda binaria para almacenar y
buscar datos de manera eficiente, en la representación de expresiones
matemáticas como árboles de expresión, en algoritmos de ordenamiento y
recorrido de datos, entre otros usos.
4. En resumen, un árbol binario es una estructura de datos fundamental
que se utiliza para organizar y manipular información de manera eficiente en
una amplia variedad de aplicaciones informáticas.
Ejemplo de un árbol binario:
Supongamos que tenemos el siguiente conjunto de números: 8, 3, 10,
1, 6, 14, 4, 7, 13.
Podemos construir un árbol binario a partir de estos números de la
siguiente manera:
1. Empezamos con el primer número, 8, que será la raíz del árbol.
2. A continuación, colocamos el número 3 a la izquierda de 8, ya que
es menor que 8.
3. Luego, colocamos el número 10 a la derecha de 8, ya que es mayor
que 8.
4. El número 1 es menor que 8 y también menor que 3, así que lo
colocamos a la izquierda de 3.
5. El número 6 es mayor que 3 pero menor que 8, así que lo
colocamos a la derecha de 3.
6. El número 14 es mayor que 8 y también mayor que 10, así que lo
colocamos a la derecha de 10.
7. El número 4 es mayor que 3 pero menor que 6, así que lo
colocamos a la derecha de 3.
8. El número 7 es mayor que 3 pero menor que 6, así que lo
colocamos a la derecha de 6.
9. Finalmente, el número 13 es mayor que 8 pero menor que 14, así
que lo colocamos a la izquierda de 14.
5. El árbol resultante se vería así:
8
/
3 10
/
1 6 14
/ /
4 7 13
Este es un ejemplo de un árbol binario con los números dados. Cada
nodo tiene como máximo dos hijos y los nodos están organizados de manera
que los valores menores se encuentran en el subárbol izquierdo y los valores
mayores en el subárbol derecho.
Recorrido del árbol binario: Operaciones con árbol
Hay tres tipos principales de recorridos en un árbol binario: inorden,
preorden y postorden. Estos recorridos definen el orden en el que visitamos
los nodos del árbol.
1. Recorrido inorden: Primero visitamos el subárbol izquierdo, luego
visitamos la raíz y finalmente visitamos el subárbol derecho. En el ejemplo
del árbol binario que te mostré, el recorrido inorden sería: 1, 3, 4, 6, 7, 8, 10,
13, 14.
2. Recorrido preorden: Primero visitamos la raíz, luego visitamos el
subárbol izquierdo y finalmente visitamos el subárbol derecho. El recorrido
preorden para el árbol dado sería: 8, 3, 1, 6, 4, 7, 10, 14, 13.
6. 3. Recorrido postorden: Primero visitamos el subárbol izquierdo, luego
visitamos el subárbol derecho y finalmente visitamos la raíz. El recorrido
postorden para el árbol dado sería: 1, 4, 7, 6, 3, 13, 14, 10, 8.
Estos recorridos son útiles para realizar diferentes operaciones en un
árbol binario, como búsqueda de un elemento específico, impresión de los
nodos en un orden específico o realizar cálculos sobre los valores de los
nodos.
El recorrido de un árbol binario es el proceso de visitar cada nodo del
árbol exactamente una vez. El recorrido de un árbol binario se puede utilizar
para realizar una variedad de operaciones, como la búsqueda, la inserción y
la eliminación de elementos.
Hay tres tipos básicos de recorridos de árboles binarios:
Recorrido en profundidad: este recorrido visita los nodos del árbol de
arriba hacia abajo, comenzando por el nodo raíz. Hay dos tipos de recorrido
en profundidad:
Recorrido en profundidad primero (DFS): su función es visitar primero
los hijos izquierdos de cada nodo antes de visitar los hijos derechos.
Recorrido en profundidad último (DFS): se encarga de visitar primero
los hijos derechos de cada nodo antes de visitar los hijos izquierdos.
Recorrido en amplitud: visita los nodos del árbol de izquierda a
derecha, comenzando por el nivel más cercano al nodo raíz.
7. Recorrido en profundidad primero (DFS): El recorrido en profundidad
primero es un algoritmo recursivo que visita los nodos del árbol de la
siguiente manera:
Se visita el nodo raíz.
Se visita el subárbol izquierdo del nodo raíz.
Se visita el subárbol derecho del nodo raíz.
Búsqueda de un elemento dentro de una estructura de árbol
La búsqueda de un elemento dentro de una estructura de árbol binario
es una operación común en el análisis de sistemas. Existen varios algoritmos
para realizar esta búsqueda, entre ellos se encuentran:
1. Búsqueda en árbol binario de búsqueda (BST): Este tipo de árbol
tiene la propiedad de que para cada nodo, todos los nodos del subárbol
izquierdo tienen valores menores y todos los nodos del subárbol derecho
tienen valores mayores. Esta característica permite realizar búsquedas de
manera eficiente, ya que se puede descartar la mitad del árbol en cada paso.
La complejidad temporal de la búsqueda en un árbol binario de búsqueda es
O (h), donde h es la altura del árbol.
2. Búsqueda en árbol binario no ordenado: En este caso, no se puede
utilizar la propiedad de orden para acelerar la búsqueda. Por lo tanto, la
complejidad temporal de la búsqueda en el peor caso es O(n), donde n es el
número de nodos en el árbol.
3. Técnicas de poda: Estas técnicas se basan en el conocimiento de
las propiedades del árbol para evitar explorar ciertas ramas durante la
8. búsqueda. Por ejemplo, si se sabe que un árbol está balanceado, se puede
utilizar esta información para reducir el espacio de búsqueda.
Además de los algoritmos mencionados, existen otras variantes y
técnicas para la búsqueda en árboles binarios, como la búsqueda con
memorización (utilizando estructuras de datos adicionales para almacenar
resultados parciales y evitar recálculos) y la búsqueda con heurísticas
(utilizando reglas o criterios específicos para guiar la búsqueda).
La elección del algoritmo y técnica dependerá del contexto particular
en el que se esté trabajando, incluyendo el tamaño del árbol, la distribución
de los datos y las restricciones de tiempo y espacio del sistema.
Ordenamiento
Un árbol es una estructura de datos jerárquica compuesta por nodos
conectados entre sí. Cada nodo puede tener cero o más nodos hijos, y un
nodo en particular se conoce como raíz del árbol. Los nodos que no tienen
hijos se llaman nodos hoja.
El ordenamiento de árboles se refiere a la forma en que se visitan los
nodos de un árbol, es decir, el orden en el que se recorren y procesan los
nodos. Existen tres formas comunes de recorrer un árbol:
1. Recorrido inorden: En este tipo de recorrido, primero se visita el
nodo izquierdo, luego el nodo actual y finalmente el nodo derecho, es útil
para obtener los nodos en orden ascendente en un árbol binario de
búsqueda.
9. 2. Recorrido preorden: En este tipo de recorrido, primero se visita el
nodo actual, luego el nodo izquierdo y finalmente el nodo derecho, es útil
para copiar un árbol o para imprimir la estructura del árbol.
3. Recorrido postorden: En este tipo de recorrido, primero se visita el
nodo izquierdo, luego el nodo derecho y finalmente el nodo actual, se utiliza
para liberar la memoria ocupada por un árbol o para evaluar expresiones
aritméticas.
El ordenamiento de árboles es fundamental en la programación
porque permite realizar operaciones eficientes en estructuras jerárquicas de
datos. Los algoritmos de búsqueda, inserción y eliminación en árboles suelen
basarse en un ordenamiento específico para garantizar un comportamiento
correcto y eficiente.