public void WeightedQuickUnionTest() { //Arrange var weightedQuickUnion = new WeightedQuickUnion(10); //7-9 6-9 2-0 5-8 7-4 6-1 0-5 4-3 2-4 //Act weightedQuickUnion.Union(7, 9); weightedQuickUnion.Union(6, 9); weightedQuickUnion.Union(2, 0); weightedQuickUnion.Union(5, 8); weightedQuickUnion.Union(7, 4); weightedQuickUnion.Union(6, 1); weightedQuickUnion.Union(0, 5); weightedQuickUnion.Union(4, 3); weightedQuickUnion.Union(2, 4); //Assert Assert.IsTrue(weightedQuickUnion.IsConnected(7, 9)); Assert.IsTrue(weightedQuickUnion.IsConnected(6, 9)); Assert.IsTrue(weightedQuickUnion.IsConnected(2, 0)); Assert.IsTrue(weightedQuickUnion.IsConnected(5, 8)); Assert.IsTrue(weightedQuickUnion.IsConnected(7, 4)); Assert.IsTrue(weightedQuickUnion.IsConnected(6, 1)); Assert.IsTrue(weightedQuickUnion.IsConnected(0, 5)); Assert.IsTrue(weightedQuickUnion.IsConnected(4, 3)); Assert.IsTrue(weightedQuickUnion.IsConnected(2, 4)); foreach (var component in weightedQuickUnion.Components) { Trace.WriteLine(component); } }
public void UnionTests() { var union = new WeightedQuickUnion(10); union.Union(5, 8); Assert.IsTrue(union.Connected(5, 8)); Assert.IsFalse(union.Connected(5, 9)); }
static void Main(string[] args) { int n = 10; WeightedQuickUnion weighted = new WeightedQuickUnion(n); weighted.Union(0, 1); weighted.Union(2, 3); weighted.Union(4, 5); weighted.Union(5, 0); weighted.Union(6, 7); weighted.Union(8, 9); weighted.Union(0, 8); bool found = weighted.Connected(9, 0); }