예제 #1
0
파일: AvlTreeTests.cs 프로젝트: arst/AandDS
        public void CanInsertRootNode()
        {
            var sut = new AlgorithmsAndDataStructures.DataStructures.AdelsonVelskyLandisTree.AvlTree();

            sut.Insert(10);
            Assert.True(sut.IsBalanced);
        }
예제 #2
0
파일: AvlTreeTests.cs 프로젝트: arst/AandDS
        public void SimpleTreeIsBalanced()
        {
            var sut = new AlgorithmsAndDataStructures.DataStructures.AdelsonVelskyLandisTree.AvlTree();

            sut.Insert(10);
            sut.Insert(11);
            sut.Insert(9);
            Assert.True(sut.IsBalanced);
        }
예제 #3
0
파일: AvlTreeTests.cs 프로젝트: arst/AandDS
        public void TreeIsBalancedWhenUnbalanceIsEqualToOne()
        {
            var sut = new AlgorithmsAndDataStructures.DataStructures.AdelsonVelskyLandisTree.AvlTree();

            sut.Insert(10);
            sut.Insert(11);
            sut.Insert(9);
            sut.Insert(8);
            Assert.True(sut.IsBalanced);
        }
예제 #4
0
파일: AvlTreeTests.cs 프로젝트: arst/AandDS
        public void TreeIsRebalanacedAfterDelete()
        {
            var sut    = new AlgorithmsAndDataStructures.DataStructures.AdelsonVelskyLandisTree.AvlTree();
            var random = new Random();
            var seed   = new int[10000];

            for (var j = 0; j < seed.Length; j++)
            {
                seed[j] = random.Next(100000);
                sut.Insert(seed[j]);
                Assert.True(sut.IsBalanced);
            }

            for (var j = 0; j < seed.Length; j++)
            {
                sut.Delete(seed[j]);
                Assert.True(sut.IsBalanced);
            }
        }