Esempio n. 1
0
        public void TestBSTInsert()
        {
            var a = new TreeNode(8);

            BSTUtil.BSTInsert(a, 3);
            BSTUtil.BSTInsert(a, 10);
            BSTUtil.BSTInsert(a, 1);
            BSTUtil.BSTInsert(a, 6);
            BSTUtil.BSTInsert(a, 15);

            Assert.AreEqual(3, a.left.value);
            Assert.AreEqual(1, a.left.left.value);
            Assert.AreEqual(6, a.left.right.value);
            Assert.AreEqual(10, a.right.value);
            Assert.AreEqual(15, a.right.right.value);
        }
Esempio n. 2
0
        public void TestSerialize()
        {
            var a = new TreeNode(8);
            var b = new TreeNode(3);
            var c = new TreeNode(10);
            var d = new TreeNode(1);
            var e = new TreeNode(6);
            var f = new TreeNode(15);

            a.left  = b;
            a.right = c;
            b.left  = d;
            b.right = e;
            c.right = f;

            var result = BSTUtil.Deserialize(BSTUtil.Serialize(a));

            Assert.AreEqual(8, result.value);
            Assert.AreEqual(3, result.left.value);
            Assert.AreEqual(10, result.right.value);
            Assert.AreEqual(1, result.left.left.value);
            Assert.AreEqual(6, result.left.right.value);
            Assert.AreEqual(15, result.right.right.value);
        }