public static void Main(string[] args) { int N = StdIn.ReadInt(); QuickFindUF uf = new QuickFindUF(N); // read in a sequence of pairs of integers (each in the range 0 to N-1), // calling find() for each pair: If the members of the pair are not already // call union() and print the pair. while (!StdIn.IsEmpty()) { int p = StdIn.ReadInt(); int q = StdIn.ReadInt(); if (uf.Connected(p, q)) { continue; } uf.Union(p, q); Console.WriteLine(p + " " + q); } Console.Write(uf.Count + " components"); }
public void QuickFindUnionFindMedium() { IUnionFind unionFind = new QuickFindUF(); CommonUFFunctionalTests.UnionFindCommon("Algs4-Data\\MediumUF.txt", unionFind); Assert.AreEqual(3, unionFind.Count); }
public void QuickFindUnionFindLarge() { IUnionFind unionFind = new QuickFindUF(); CommonUFFunctionalTests.UnionFindCommon("LargeUF.txt", unionFind); Assert.AreEqual(6, unionFind.Count); }
public static void Main(string[] args) { int N = StdIn.ReadInt(); QuickFindUF uf = new QuickFindUF(N); // read in a sequence of pairs of integers (each in the range 0 to N-1), // calling find() for each pair: If the members of the pair are not already // call union() and print the pair. while (!StdIn.IsEmpty()) { int p = StdIn.ReadInt(); int q = StdIn.ReadInt(); if (uf.Connected(p, q)) continue; uf.Union(p, q); Console.WriteLine(p + " " + q); } Console.Write(uf.Count + " components"); }