Definición instructiva y formal de la estructura de árbol.
Concepto de Árbol binario. Ejemplos
Recorrido del árbol binario: Operaciones con árbol
binario.
Búsqueda de un elemento dentro de una estructura de árbol..
Ordenamiento.
Programa para utilizar árboles.
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
DECLARACION DE ARBOLES.pdf
1. III CORTE 10% DECLARACION DE
ARBOLES.
Definición instructiva y formal de la estructura de árbol:
Una estructura de árbol es una forma de organizar datos o información de manera jerárquica,
usando un conjunto de elementos llamados nodos que se conectan entre sí mediante enlaces
llamados ramas. Cada nodo puede tener cero o más nodos hijos, que son los que están un
nivel más abajo en la jerarquía. El nodo que no tiene ningún padre se llama raíz, y los nodos
que no tienen ningún hijo se llaman hojas. Una estructura de árbol se puede representar
gráficamente con un diagrama que se asemeja a un árbol invertido, donde la raíz está en la
parte superior y las hojas en la parte inferior. Una estructura de árbol se puede definir
formalmente como un conjunto finito de nodos, tal que:
Existe un nodo especial llamado raíz que no tiene ningún padre.
Cada nodo, excepto la raíz, tiene exactamente un padre.
No hay ciclos, es decir, no hay secuencias de nodos que empiecen y terminen en el
mismo nodo.
Las estructuras de árbol se utilizan en muchas áreas de la ciencia, la tecnología y el arte, como
por ejemplo, para representar árboles genealógicos, árboles evolutivos, árboles sintácticos,
árboles de decisión, árboles de directorios.
Concepto de Árbol binario:
Un árbol binario es una estructura de datos que organiza información de forma jerárquica,
usando elementos llamados nodos que se conectan entre sí mediante enlaces llamados ramas.
Cada nodo puede tener como máximo dos nodos hijos, uno a la izquierda y otro a la derecha.
El nodo que no tiene ningún padre se llama raíz, y el nodo que no tiene ningún hijo se llama
hoja. Los árboles binarios se usan para almacenar, clasificar y acceder a información de
manera eficiente y ordenada. Algunos ejemplos de árboles binarios son los árboles binarios de
búsqueda, los montículos binarios y la codificación de Huffman.
2. Ejemplo de Árbol binario:
8
/
3 10
/
1 6 14
/ /
4 7 13
Este árbol tiene 9 nodos, de los cuales 4 son hojas (1, 4, 7 y 13) y 5 son nodos
internos (8, 3, 10, 6 y 14). La raíz es el nodo 8, que tiene dos subárboles: el
subárbol izquierdo con raíz 3 y el subárbol derecho con raíz 10. El nivel de cada
nodo es la distancia desde la raíz, por ejemplo, el nivel del nodo 6 es 2. La altura
del árbol es el nivel máximo de los nodos externos, que en este caso es 3. Este
árbol no es un árbol binario completo, porque el nodo 10 solo tiene un
subárbol (el derecho), y el nodo 6 solo tiene dos subárboles (el izquierdo y el
derecho).
Recorrido del árbol binario: Operaciones con árbol binario:
El recorrido del árbol binario es una operación que consiste en visitar todos los
nodos del árbol siguiendo un cierto orden. Hay tres formas principales de
recorrer un árbol binario:
Preorden: se visita primero la raíz, luego el subárbol izquierdo y luego el
subárbol derecho.
Inorden: se visita primero el subárbol izquierdo, luego la raíz y luego el subárbol
derecho.
Postorden: se visita primero el subárbol izquierdo, luego el subárbol derecho y
luego la raíz.
Estas formas de recorrido se pueden implementar usando algoritmos recursivos
o iterativos, y se pueden aplicar para realizar diferentes operaciones con el
árbol, como imprimir sus elementos, calcular su altura, buscar un valor, insertar
o eliminar un nodo.
Búsqueda de un elemento dentro de una estructura de árbol:
La búsqueda de un elemento dentro de una estructura de árbol consiste en comparar el
elemento con el valor del nodo raíz del árbol, y si son iguales, la búsqueda ha terminado con
éxito. Si el elemento es menor que el valor del nodo raíz, se busca en el subárbol izquierdo, y si
es mayor, se busca en el subárbol derecho. Este proceso se repite recursivamente hasta
encontrar el elemento o llegar a un nodo hoja sin hijos, lo que significa que el elemento no
está en el árbol.
3. Ordenamiento:
El ordenamiento de árboles binarios es una forma de clasificar un conjunto de datos o
elementos, usando una estructura de datos llamada árbol binario, que organiza la información
de manera jerárquica. El ordenamiento de árboles binarios se basa en ir construyendo poco a
poco el árbol binario introduciendo cada uno de los elementos, los cuales quedarán ya
ordenados según un criterio de comparación. Luego, se obtiene la lista de los elementos
ordenados recorriendo el árbol en inorden, es decir, visitando primero el subárbol izquierdo,
luego la raíz y luego el subárbol derecho.
El ordenamiento de árboles binarios tiene las siguientes características:
Tiene un buen rendimiento, ya que insertar elementos en un árbol binario de
búsqueda tiene una complejidad O (log n), y recorrer el árbol en inorden tiene una
complejidad O (n).
Es estable, es decir, no cambia el orden relativo de elementos iguales.
No requiere espacio de almacenamiento extra, ya que el árbol se construye con los
mismos elementos que se quieren ordenar.
Puede ordenar listas tal cual las recibe, sin necesidad de almacenarlas previamente.
Programa para utilizar arboles:
class Arbol:
def __init__(self, dato):
self.dato = dato
self.izq = None
self.der = None
def agregar(self, nuevo_dato):
if nuevo_dato < self.dato:
if self.izq is None:
self.izq = Arbol(nuevo_dato)
else:
self.izq.agregar(nuevo_dato)
elif nuevo_dato > self.dato:
if self.der is None:
self.der = Arbol(nuevo_dato)
else:
self.der.agregar(nuevo_dato)
else:
pass
def inorden(self):
4. if self.izq is not None:
self.izq.inorden()
print(self.dato, end=" ")
if self.der is not None:
self.der.inorden()
arbol = None
datos = [5, 3, 7, 1, 4, 6, 8]
for dato in datos:
if arbol is None:
arbol = Arbol(dato)
else:
arbol.agregar(dato)
arbol.inorden()
Este programa imprime: 1 3 4 5 6 7 8