public static void Main(string[] args) { int N = StdIn.ReadInt(); QuickUnionUF uf = new QuickUnionUF(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.WriteLine(uf.Count + " components"); }
public void QuickUnionUnionFindLarge() { IUnionFind unionFind = new QuickUnionUF(); CommonUFFunctionalTests.UnionFindCommon("Algs4-Data\\LargeUF.txt", unionFind); Assert.AreEqual(6, unionFind.Count); }
public void QuickUnionUnionFindMedium() { IUnionFind unionFind = new QuickUnionUF(); CommonUFFunctionalTests.UnionFindCommon("Algs4-Data\\MediumUF.txt", unionFind); Assert.AreEqual(3, unionFind.Count); }
public static void Main(string[] args) { int N = StdIn.ReadInt(); QuickUnionUF uf = new QuickUnionUF(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.WriteLine(uf.Count + " components"); }