/// <summary> /// 随机生成连接,返回令并查集中只剩一个连通分量所需的连接总数。 /// </summary> /// <param name="uf">用于测试的并查集。</param> /// <returns>需要的连接总数。</returns> public static int Count(Uf uf) { var random = new Random(); var size = uf.Count(); var edges = 0; while (uf.Count() > 1) { var p = random.Next(size); var q = random.Next(size); uf.Union(p, q); edges++; } return(edges); }