aproximaciones y estructuras auxiliares en otros algoritmos.
El peso debe representar un costo aditivo coherente. Si importan restricciones como capacidad, dirección o redundancia, un MST puede no modelar el problema real.
Operaciones de Union-Find: casi constantes amortizadas, O(α(V)) por operación.
Tiempo total: O(E log E).
Memoria adicional: O(V + E) si se copia y ordena la lista.
α es la función inversa de Ackermann y crece tan lentamente que se comporta como una constante para tamaños prácticos, pero no es literalmente O(1) en el análisis formal.
Prim comienza desde un vértice y hace crecer un árbol. En cada paso toma la arista de menor peso que conecta el árbol actual con un vértice exterior.
Con adjacency list y min-heap:
tiempo habitual: O(E log V);
memoria: O(V + E).
Prim suele ser cómodo cuando el grafo ya está representado por vecinos. Kruskal suele ser natural cuando tienes una lista de aristas y el grafo es disperso.
Un grafo puede tener varios MST con el mismo costo. Si todos los pesos son distintos, el MST es único. Con empates, el algoritmo puede devolver árboles diferentes según el orden, todos correctos si conservan el costo mínimo.
¿El camino entre dos vértices dentro de un MST siempre es el camino más corto entre ellos en el grafo original?
Respuesta
No. El MST minimiza la suma de las aristas de toda la red. Puede aceptar un camino más largo entre una pareja si eso reduce el costo global de conectar todos los vértices.