# Calculadora de árbol de expansión mínima (Kruskal / Prim)

Calcula el árbol de expansión mínima de un grafo no dirigido ponderado (1–30 aristas, una por línea: nodo1, nodo2, peso) con dos algoritmos: Kruskal ordena por peso y usa unión-búsqueda, registrando cada arista aceptada o rechazada por ciclo; Prim parte de un nodo inicial y toma en cada paso la arista más barata que sale del componente, mostrando su crecimiento. Los bucles se omiten; un grafo desconectado se rechaza indicando el número de componentes; ambos algoritmos deben coincidir en el peso total (verificación interna). Clásico: A-B 4, A-C 2, B-C 5, B-D 10, C-E 3, D-E 4, D-F 11, E-F 8 → peso del MST 21 (A—C, C—E, A—B, D—E, E—F) y B—C rechazada por ciclo.

> Página canónica: https://elysiatools.com/es/tools/minimum-spanning-tree

- **Categoría:** Math & Numbers

- **Palabras clave:** árbol de expansión mínima, mst, kruskal, prim, unión-búsqueda, algoritmo voraz, grafo, diseño de redes, árbol de expansión, matemáticas discretas

## Descripción general

Esta calculadora de árbol de expansión mínima (MST) permite resolver grafos no dirigidos y ponderados utilizando los algoritmos de Kruskal o Prim. Procesa entre 1 y 30 aristas en formato de texto simple, detallando paso a paso la aceptación de aristas, el descarte de ciclos mediante unión-búsqueda o el crecimiento progresivo de componentes conexos, asegurando la consistencia del peso total obtenido.

## Entradas

- **Aristas (una por línea: nodo1, nodo2, peso)** (textarea): One undirected edge per line: two node names (1–8 letters/digits) and a weight (negatives allowed).
- **Algoritmo** (select)
- **Nodo inicial (solo Prim, opcional)** (text): e.g. D
- **Decimales** (number)

## Cuándo usarlo

- Al resolver ejercicios de teoría de grafos o matemáticas discretas que requieren contrastar la ejecución de Kruskal frente a Prim.
- Al planificar el tendido de redes de cableado, tuberías o rutas de transporte buscando minimizar el costo total de interconexión sin formar bucles.
- Al verificar si un conjunto de enlaces forma un grafo conexo válido y determinar exactamente qué aristas cierran ciclos redundantes.

## Cómo funciona

- Ingresa la lista de aristas (una por línea) indicando el nodo origen, el nodo destino y su peso numérico separados por espacios.
- Selecciona el algoritmo deseado (Kruskal con unión-búsqueda o Prim) y, si usas Prim, define opcionalmente el nodo inicial.
- Ajusta la precisión de decimales requerida para el cálculo de los pesos.
- La herramienta ejecuta el algoritmo, descarta bucles directos, comprueba la conectividad del grafo y muestra el desglose paso a paso junto con el peso total del MST.

## Casos de uso

- Diseño de infraestructura de telecomunicaciones para interconectar conmutadores locales minimizando la longitud total de fibra óptica.
- Estudio académico de algoritmos voraces (greedy) para comparar el registro de aristas aceptadas y rechazadas.
- Optimización de redes de distribución de agua o gas conectando todas las estaciones sin crear redundancias cíclicas.

## Preguntas frecuentes

### ¿Qué ocurre si el grafo no es conexo?

La herramienta detecta la falta de conectividad, rechaza el cálculo del MST e informa la cantidad de componentes independientes encontrados.

### ¿Se admiten pesos negativos en las aristas?

Sí, tanto Kruskal como Prim admiten valores numéricos negativos sin alterar la validez del árbol resultante.

### ¿Cómo maneja la calculadora los lazos o bucles (aristas de un nodo a sí mismo)?

Los bucles sobre un mismo nodo se omiten automáticamente durante el análisis, ya que no forman parte de un árbol de expansión.

### ¿Por qué Kruskal y Prim pueden seleccionar aristas en diferente orden?

Kruskal evalúa globalmente las aristas de menor a mayor peso, mientras que Prim hace crecer un único componente desde un nodo inicial, aunque ambos coinciden en el costo total final.

### ¿Existe un límite en la cantidad de aristas?

Sí, el analizador admite entre 1 y 30 aristas por ejecución con identificadores de nodos de hasta 8 caracteres alfanuméricos.

## Herramientas relacionadas

- [Calculadora de Densidad (ρ = m/V)](https://elysiatools.com/es/tools/density-calculator): Calcula densidad, masa o volumen a partir de los otros dos, con gravedad específica y flotación
- [Calculadora de NPSH de Bomba (Altura Neta Positiva de Aspiración) y Verificación de Cavitación](https://elysiatools.com/es/tools/pump-npsh-calculator): Calcula la altura neta positiva de aspiración disponible de la bomba: NPSH_a = (p_surface - p_vapor)/(ρ·g) + H_static - h_friction (en m). Las presiones de superficie y de vapor son absolutas; H_static es positivo para aspiración inundada (líquido sobre la bomba) y negativo para aspiración por elevación (líquido bajo la bomba). Se compara con el NPSH_r de la curva de la bomba, devolviendo el margen margin = NPSH_a - NPSH_r y el cociente ratio = NPSH_a/NPSH_r, y clasifica como safe (seguro), marginal (margen < 0,5 m) o cavitation likely (cavitación probable). Si NPSH_r = 0, solo se informa NPSH_a. Presiones en Pa/kPa/bar/atm/psi, longitud en m/ft, densidad en kg/m³/g/cm³/lb/ft³.
- [Palabras a Número](https://elysiatools.com/es/tools/words-to-number): Convierte palabras-numéricas en inglés a dígitos. Maneja magnitudes, "and", decimales vía "point" y guiones, reemplazando el tramo numérico en su lugar.
- [Marca de agua oculta adaptativa de 12 puntos](https://elysiatools.com/es/tools/adaptive-12-point-hidden-watermark): Añade una marca de agua de texto sutil a una imagen o a cada imagen compatible de un ZIP, en todos, algunos al azar o puntos elegidos del perímetro, con contraste oscuro/claro automático según el fondo local.
- [Calculadora de Excreción Fraccional de Sodio FENa](https://elysiatools.com/es/tools/fractional-excretion-sodium): Excreción fraccional de sodio FENa = (Na-oro×SCr)/(Na-sérico×UCr)×100%. Discrimina AKI oligúrico: <1% sugiere azoemia prerenal (depleción de volumen, IC, síndrome hepatrorrenal, estados ahorradores de sodio); ≥1% sugiere lesión intrínseca (típicamente ATN, los túbulos dañados no reabsorben sodio); >4% a veces en postobstructiva. Los diuréticos invalidan el resultado (use FEUrea<35%); la ATN por contraste/sepsis puede dar FENa baja; CKD crónica y glucosuria elevan la FENa. Interpretar con el contexto clínico. No es consejo médico.
- [Divisor de hilos de Twitter / X](https://elysiatools.com/es/tools/twitter-thread-splitter): Pega un texto largo y divídelo en un hilo numerado de X que respeta el límite de 280 caracteres. Divide por límites de palabra/oración/párrafo, añade numeración 1/N, pondera correctamente CJK y caracteres de ancho completo, cuenta las URLs como 23 caracteres y muestra una tarjeta de estilo X con medidor de caracteres.
- [Calculadora Capacidad UMA (enfriar / calentar)](https://elysiatools.com/es/tools/ahu-capacity-calculator): Calcula la capacidad de la batería de una UMA a partir de los estados de entrada/salida y el caudal másico de aire seco ṁ_da: capacidad total Qt=ṁ_da·(h1−h2), sensible Qs=ṁ_da·cp_ma·(T1−T2) (cp_ma≈1,006+1,86·W), latente Ql=Qt−Qs, SHR=Qs/Qt. Cada estado se describe por bulbo seco T y un dato de humedad (HR φ o relación W); W se obtiene por la fórmula de Magnus y h=1,006·T+W·(2501+1,86·T). Resultado con signo, válido para enfriar o calentar.
- [Calculadora de Empuje (Arquímedes, F = ρ·V·g)](https://elysiatools.com/es/tools/buoyancy-calculator): Calcula empuje, densidad del fluido o volumen desplazado a partir de dos de ellos, con análisis de flotación

## Ejemplos

- [Ejemplos de Procesamiento de Imágenes Web Python](https://elysiatools.com/es/samples/web-image-processing-python): Ejemplos de procesamiento de imágenes Web Python usando PIL/Pillow incluyendo lectura, guardado, redimensionamiento y conversión de formato
- [Ejemplos SVG](https://elysiatools.com/es/samples/svg-samples): Ejemplos de Gráficos Vectoriales Escalables (SVG) que demuestran varias características y técnicas SVG
- [Ejemplos de Procesamiento de Imágenes Android Java](https://elysiatools.com/es/samples/android-image-processing-java): Ejemplos de procesamiento de imágenes Android Java incluyendo lectura/escritura, escalado y conversión de formato
- [Ejemplos de Procesamiento de Imágenes Android Kotlin](https://elysiatools.com/es/samples/android-image-processing-kotlin): Ejemplos de procesamiento de imágenes Android Kotlin incluyendo lectura/escritura, escalado y conversión de formato
