Solución de código fuente
//Utilice el "método del círculo de ruptura" para resolver el árbol de expansión de costo mínimo de un gráfico no dirigido conectado ponderado.
{typedef struct {int i,j,w}nodo. // Supongamos que la información del vértice es el número de vértice y el peso es un número entero.
Aristas del nodo[];
scanf("%d%d", &e&n); //Ingrese el número de aristas y vértices.
for(I = 1;I<=e;I++) //Arista de entrada e: vértices y pesos.
scanf("%d%d%d ", & borde[i].i & borde[i].j & borde[i].w);
for( I = 2;i<= e;I++) //Ordena los bordes en orden inverso según su peso.
{ borde[0]= borde[I];j = I-1;
mientras (borde[j].w & ltedge[0].w)borde[ j +1]= borde[j-];
borde[j+1]= borde[0];}//para
k = 1; por ejemplo = e;< / p>
while (por ejemplo & gt = n) // Rompe el círculo hasta que el número de lados e = n-1.
{if (connect(k)) //Si el k-ésimo borde todavía está conectado, elimínelo.
Borde[k]. w = 0;eg-;}//Prueba el siguiente borde [k] y establece el peso en 0 para eliminar el borde.
k++; //Siguiente borde
}//Cuando
}//El algoritmo finaliza.