public void GivenUnion_Connected_ReturnsTrue()
        {
            // Arrange
            int p = 0;
            int q = 1;

            _unionFind.Union(p, q);

            // Act & Assert
            Assert.True(_unionFind.AreConnected(p, q));
        }
Exemplo n.º 2
0
        public void QuickFind_TinyFile_True()
        {
            var dots      = new Dots(@"DataStore\tinyUF.txt");
            var quickFind = new QuickFind(dots.Count);

            foreach (Tuple <int, int> item in dots.Items)
            {
                if (quickFind.Connected(item.Item1, item.Item2))
                {
                    continue;
                }
                quickFind.Union(item.Item1, item.Item2);
            }
            Assert.Equal(2, quickFind.Count);
        }
Exemplo n.º 3
0
    public void TestQuickFind()
    {
        var input = new List <int[]>()
        {
            new int[] { 1, 3 },
            new int[] { 1, 4 },
            new int[] { 8, 9 }
        };

        var N = 10;


        var uf = new QuickFind(N);

        foreach (var item in input)
        {
            uf.Union(item[0], item[1]);
        }

        Assert.Equal(uf.Connected(3, 4), true);
        Assert.Equal(uf.Connected(9, 0), false);
    }
        public void TestingUFQuickFind()
        {
            var unionFind = new QuickFind(10);

            unionFind.Union(4, 3);
            unionFind.Union(3, 8);
            unionFind.Union(6, 5);
            unionFind.Union(9, 4);
            unionFind.Union(2, 1);
            unionFind.Union(8, 9);
            unionFind.Union(5, 0);
            unionFind.Union(7, 2);
            unionFind.Union(6, 1);
            unionFind.Union(1, 0);
            unionFind.Union(6, 7);
        }