Estructuras Discretas: Fundamentos de Grafos, Árboles y Algoritmos de Recorrido

🧠 Compendio de Teoría de Grafos y Árboles

Matemática Discreta – Ciencias de la Computación (UFM)
Basado en: Grafos 1, Grafos 2 y Árboles (octubre 2025)

🕸️ Teoría de Grafos: El Universo Conectado

Definición Formal de un Grafo

Un grafo G es una tupla ordenada:
G = (V, E) donde:

  • V = conjunto de vértices o nodos.
  • E = conjunto de aristas que conectan pares de vértices.
  • |V| = número de vértices.
  • |E| = número de aristas.

Ejemplo:
V = {A, B, C, D}
E = {{A, B}, {A, C}, {C, D}}

Tipos de Grafos

Tipo

Descripción

Ejemplo

No dirigido

Las aristas son bidireccionales (amistad mutua).

Facebook

Dirigido (digrafo)

Las aristas tienen dirección (seguir ≠ ser seguido).

Twitter

Ponderado

Cada arista tiene un peso o costo asociado.

Google Maps

Completo (Kn)

Cada vértice está conectado con todos los demás.

Red totalmente conectada

Regular

Todos los vértices tienen el mismo grado.

Malla uniforme

Multigrafo

Puede haber varias aristas entre los mismos vértices.

Rutas con múltiples caminos

Grado de un Vértice

  • deg(v) = número de aristas incidentes a v.
  • En digrafos (grafos dirigidos):
    • deg⁺(v) = número de aristas que salen (grado de salida).
    • deg⁻(v) = número de aristas que llegan (grado de entrada).

🧩 Teorema del Apretón de Manos (Handshaking Theorem)

wY9F92apfvrvwAAAABJRU5ErkJggg==

  • Cada arista cuenta dos veces (una por cada extremo).
  • El número de vértices con grado impar siempre es par.

Propiedades y Aplicaciones

  • Grado promedio:
    HgCs7IeAOAdHbHdbKSQg4RkD0dgy4shMC7hD4f8PHVYEO3hJMAAAAAElFTkSuQmCC
  • En redes sociales, el grado sirve para medir conectividad, popularidad e influencia.
  • Ejemplo en redes dirigidas (Twitter):
    • Influencer → deg⁻ alto, deg⁺ bajo (muchos seguidores, pocos seguidos).
    • Bot → deg⁺ alto, deg⁻ bajo (muchos seguidos, pocos seguidores).

Isomorfismo de Grafos

Dos grafos son isomorfos si tienen la misma estructura, aunque los nombres de los vértices cambien.

Condiciones Necesarias para Isomorfismo:

  1. Igual número de vértices y aristas.
  2. Igual secuencia de grados.
  3. Misma conectividad y número de ciclos.

💬 En palabras simples:

“Una rosa con otro nombre sigue siendo una rosa.”

Conectividad

Concepto

Definición

Camino (Path)

Secuencia de vértices conectados por aristas.

Ciclo (Cycle)

Camino cerrado que empieza y termina en el mismo vértice.

Conexo

Existe un camino entre cualquier par de vértices.

Componente conexo

Subgrafo conexo maximal.

🔁 Tipos de Recorridos en Grafos

Nombre (Inglés)

Nombre (Español)

Restricciones

Walk

Paseo

Puede repetir vértices y aristas.

Trail

Sendero

No repite aristas.

Path

Camino simple

No repite vértices ni aristas.

Circuit

Circuito

Paseo cerrado sin repetir aristas.

Cycle

Ciclo

Circuito sin repetir vértices.

⚙️ Caminos Especiales

Caminos Eulerianos

  • Camino euleriano: recorre cada arista una sola vez.
  • Circuito euleriano: camino euleriano que empieza y termina en el mismo vértice.

🧠 Teorema de Euler (1736):

  1. Un grafo conexo tiene circuito euleriano ⇔ todos los vértices tienen grado par.
  2. Tiene camino euleriano (no circuito) ⇔ exactamente dos vértices de grado impar.

📍 Ejemplo histórico: Los Puentes de Königsberg → imposible (4 vértices impares).

Caminos Hamiltonianos

  • Camino hamiltoniano: visita cada vértice exactamente una vez.
  • Circuito hamiltoniano: camino hamiltoniano cerrado.

Tipo

Recorre

Complejidad

Condición

Euleriano

Aristas

O(|E|) — Fácil

Grados pares

Hamiltoniano

Vértices

NP-completo — Difícil

No hay criterio general

🧮 Teorema de Dirac:

Si G tiene n ≥ 3 vértices y deg(v) ≥ n/2 para todo vértice, entonces G tiene un ciclo hamiltoniano.

🔎 Algoritmos de Recorrido

BFS (Breadth-First Search)

  • Explora el grafo por niveles (amplitud).
  • Utiliza una cola (Queue).
  • Encuentra caminos más cortos (en términos de número de aristas).
  • Complejidad: O(|V| + |E|)

📘 Usos:

  • Distancia mínima entre nodos.
  • Broadcasting (difusión).
  • Comprobación de bipartición.

DFS (Depth-First Search)

  • Explora el grafo en profundidad.
  • Utiliza una pila (Stack) o recursión.
  • Detecta ciclos y realiza backtracking.
  • Complejidad: O(|V| + |E|)

📘 Usos:

  • Detección de ciclos.
  • Ordenamiento topológico.
  • Exploración de laberintos.

🌳 Árboles: Estructura Jerárquica

Definición Formal de un Árbol

Un árbol es un grafo conexo y acíclico que cumple la propiedad fundamental:

|E| = |V| – 1

Generalmente, tiene un nodo raíz y los demás nodos tienen exactamente un padre.

Terminología Clave

Concepto

Definición

Raíz

Nodo sin padre.

Hoja

Nodo sin hijos.

Nodo interno

Nodo con al menos un hijo.

Altura

Profundidad máxima del árbol.

Profundidad

Nivel del nodo respecto a la raíz.

Grado

Número de hijos que tiene un nodo.

Tipos de Árboles Binarios

Tipo

Descripción

Binario

Cada nodo tiene máximo dos hijos (izquierdo y derecho).

Completo

Todos los niveles están llenos, excepto posiblemente el último, que se llena de izquierda a derecha.

Lleno (Full)

Cada nodo tiene 0 o 2 hijos.

Balanceado

La diferencia de alturas de los subárboles es ≤ 1.

BST (Binary Search Tree)

Cumple la propiedad de orden: Izquierda < Raíz < Derecha.

Propiedad Fundamental de los Árboles

En un árbol con n nodos, el número de aristas es n − 1.

📘 Demostración por inducción:
Remover una hoja y su arco reduce en 1 los nodos y en 1 las aristas. Por lo tanto, la relación se mantiene.

Recorridos de Árboles

Tipo

Orden de Visita

Aplicación

Preorden

Raíz → Izq → Der

Copiar el árbol, generar expresiones prefijas.

Inorden

Izq → Raíz → Der

Mostrar valores ordenados (en BST).

Postorden

Izq → Der → Raíz

Eliminar árbol, evaluar expresiones.

Por niveles (BFS)

Nivel por nivel

Ver jerarquías completas.

Aplicaciones Reales de los Árboles

  • Sistemas de archivos (carpetas/subcarpetas).
  • Árboles genealógicos y organigramas.
  • Árboles de decisión (Machine Learning).
  • Índices y estructuras de búsqueda (bases de datos).
  • Procesos de sistema operativo y DOM web.

⚡ Fórmulas Clave

Concepto

Fórmula / Condición

Grado total de un grafo

∑deg(v) = 2|E|

Árbol (nodos y aristas)

|E| = |V| − 1

Aristas en Grafo completo Kn

|E| = n(n-1)/2

Grado promedio

2|E| / |V|

Condición Euleriana

Todos los grados pares

Condición Hamiltoniana (Dirac)

deg(v) ≥ n/2

Propiedad de árbol

Conexo + Acíclico = Árbol

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.