1. Teoría de Grafos

Un grafo G=(V,E)G=(V,E) consiste en:

Tipos de Grafos

  1. Grafo no dirigido: Las aristas no tienen dirección.
    • Ejemplo: Redes de amistad en redes sociales.
  2. Grafo dirigido (dígrafo): Las aristas tienen una dirección.
    • Ejemplo: Mapa de rutas de vuelos.
  3. Grafo ponderado: Cada arista tiene un peso asociado.
    • Ejemplo: Distancias entre ciudades en un mapa.

Propiedades Importantes

Casos Especiales

  1. Árbol : Un grafo conexo y acíclico.
    • Propiedad clave: Tiene exactamente n1n−1 aristas si tiene nn vértices.
  2. Grafo completo : Cada par de vértices está conectado por una arista.
  3. Grafo bipartito : Los vértices pueden dividirse en dos conjuntos disjuntos, y las aristas solo conectan vértices de diferentes conjuntos.

Ejemplo Ilustrativo
Consideremos un grafo no dirigido con V={A,B,C,D}V=\{A,B,C,D\} y E={(A,B),(B,C),(C,D),(D,A)}E=\{(A,B),(B,C),(C,D),(D,A)\}:

1.2 Métodos de Recorrido de Árboles y Grafos

Recorridos de Árboles : Los árboles son casos especiales de grafos, y sus recorridos son fundamentales en ciencias de la computación.

  1. Preorden : Visita el nodo raíz, luego los subárboles izquierdo y derecho.
    • Ejemplo: A,B,D,E,C,F.
  2. Inorden : Visita el subárbol izquierdo, luego el nodo raíz, y finalmente el subárbol derecho.
    • Ejemplo: D,B,E,A,F,C.
  3. Postorden : Visita los subárboles izquierdo y derecho, luego el nodo raíz.
    • Ejemplo: D,E,B,F,C,A.

Ejemplo Práctico: Dado el siguiente árbol binario

    A
   / \
  B   C
 / \   \
D   E   F

Recorridos de Grafos

  1. Búsqueda en Anchura (BFS):
    • Explora todos los vecinos de un vértice antes de avanzar a niveles más profundos.
    • Implementación: Usa una cola.
  2. Búsqueda en Profundidad (DFS):
    • Explora tan profundamente como sea posible antes de retroceder.
    • Implementación: Usa una pila o recursión.

Ejemplo de BFS y DFS: Dado el grafo

A -- B -- C
|         |
D -- E -- F

1.3 Modelado de Problemas del Mundo Real

Red de Topología

Sistema de Archivos Jerárquico

Red Social

Ejemplo Práctico: Modelar una red social simple

Alice -- Bob -- Carol
  |       |
David -- Eve