TPN3 (pt. 2) árboles

¿Qué es un árbol? 🌳

Un árbol es un grafo conexo, es decir, todos sus vértices están conectados entre sí por un camino. No hay ciclos. Además, un árbol tiene exactamente n-1 aristas, donde n es el número de vértices. Estos pueden ser dirigidos o no.

Árboles isomorfos

Los árboles isomorfos son dos o más árboles que comparten la misma estructura topológica. Esto significa que tienen la misma forma, aunque los vértices y las ramas pueden tener diferentes nombres o etiquetas. Estos árboles se pueden superponer uno sobre otro mediante una correspondencia uno a uno entre sus vértices y sus ramas, manteniendo así las relaciones entre los vértices. Cada vértice tendría su equivalente en el otro árbol con el mismo grado (cantidad de aristas que conecta).

Ejemplo de dos árboles isomorfos:

Untitled


Árboles binarios

Un árbol binario es un tipo especial de árbol en el que cada vértice (nodo) tiene como máximo dos hijos. Cada uno de estos hijos se conoce como hijo izquierdo y hijo derecho. Un árbol binario puede ser vacío o tener una raíz con uno o dos sub-árboles, cada uno de los cuales es también un árbol binario.

Un árbol binario se utiliza a menudo para representar información jerárquica, como directorios de archivos en un sistema de archivos, estructuras de datos en inteligencia artificial, y para algoritmos de búsqueda y ordenamiento.

Existen dos tipos de árboles binarios:

  1. Árbol binario completo: es un árbol binario en el que todos los niveles están completamente llenos, excepto quizás el último nivel, y los nodos en el último nivel están emparejados.
  2. Árbol binario balanceado: es un árbol binario en el que la altura del sub-árbol izquierdo y derecho de cada vértice no difieren en más de 1.

Untitled

Los árboles binarios se utilizan en una variedad de aplicaciones, como la representación jerárquica de datos, la generación de árboles de decisión en inteligencia artificial, y la optimación de algoritmos en teoría de grafos. Además, también se utilizan en estructuras de datos como los árboles binarios de búsqueda, que son árboles binarios ordenados y se utilizan para implementar estructuras de datos como las tablas de hash, los mapas y los conjuntos. Los árboles binarios también se utilizan en sistemas de computación distribuidos para implementar protocolos de comunicación, y en inteligencia artificial para tareas de aprendizaje automático y procesamiento del lenguaje natural.