KRUSKAL (Grafo G)
	T = 
	for each v  V do
		CreateSet(v)   // Crea un componente conexo que contiene solo a v
		Q = ordenar(A) // Sea Q una ordenación de las aristas de G con relación a su peso 
		i = 1
		while |T| < |V|-1 do   // Parar cuando en T hayan n-1 aristas, 
                                   // pues un árbol libre con n vértices 
					     // tiene n-1 aristas por la propiedad 1
			(u,v) = Q[i]
			Cu = SetOf(u)
			Cv = SetOf(v)
			// Vértices en componentes diferentes no forman ciclo
			if Cu != Cv do
				T = T  {(u,v)}
            		Merge(Cu,Cv)
			i = i + 1