示例#1
0
        static void ex411()
        {
            BinaryTree <int> tree = new BinaryTree <int>();

            tree.Insert(1);
            tree.Insert(3);
            tree.Insert(4);
            tree.Insert(2);
            tree.Insert(5);
            tree.Insert(6);
            tree.Insert(7);
            tree.Insert(8);
            tree.Insert(9);
            var ex = new ex_4_11();

            Console.WriteLine($"{ex.GetRandomNode(tree)}");
        }
示例#2
0
        public static void RunBinarySearchTreeDemo(params int [] numbers)
        {
            var node = new BstNode(4);
            var bst  = new BinaryTree(node);

            for (int i = 0; i < numbers.Length; i++)
            {
                bst.Insert(bst.RootNode, numbers[i]);
            }
            //Console.Write("InOrderTraversal: ");
            //bst.PrintInOrder(bst.RootNode);
            //bst.PrintPostOrder(bst.RootNode);
            //bst.Search(bst.RootNode, 10);
            //bst.IterativeInOrder(bst.RootNode);
            //bst.IterativePreOrder(bst.RootNode);
            bst.IterativePostOrder(bst.RootNode);
        }
示例#3
0
        static void ex43()
        {
            BinaryTree <int> bt = new BinaryTree <int>();

            bt.Insert(1);
            bt.Insert(7);
            bt.Insert(6);
            bt.Insert(5);
            bt.Insert(4);
            bt.Insert(3);
            bt.Insert(2);
            bt.Print();
            ex_4_3 ex          = new ex_4_3();
            var    linkedLists = ex.CreateLinkedListPerDepth(bt);

            foreach (var singleLinkedList in linkedLists)
            {
                singleLinkedList.Print();
            }
        }