示例#1
0
        static void TestGraph()
        {
            var graph = new Graph <int>();
            var node0 = new Graph.Node <int>(0);
            var node1 = new Graph.Node <int>(1);
            var node2 = new Graph.Node <int>(2);
            var node3 = new Graph.Node <int>(3);
            var node4 = new Graph.Node <int>(4);
            var node5 = new Graph.Node <int>(5);

            node0.AddEdge(node1);
            node1.AddEdge(node3);
            node1.AddEdge(node2);
            node5.AddEdge(node4);
            node2.AddEdge(node5);

            graph.AddNode(node0);
            graph.AddNode(node1);
            graph.AddNode(node2);
            graph.AddNode(node3);
            graph.AddNode(node4);
            graph.AddNode(node5);

            graph.BFS(node1);
            Console.WriteLine();
            graph.DFS(node1);

            //Console.WriteLine("Before removing node 1: ");
            //Console.WriteLine(graph.ToString());
            //graph.RemoveNode(node1);
            //Console.WriteLine("--------------------");
            //Console.WriteLine("After removing node 1: ");
            //Console.WriteLine(graph.ToString());
        }
示例#2
0
        static void Main(string[] args)
        {
            //MultidimensionalArray marray = new MultidimensionalArray();
            //marray.GetTransportEnums();
            // int[] array = new[] { -11, 11, 2, -2, 9, 8, 7, 6 };
            // var returnedarray = QuickSortAlgo.QuickSortAlgorithm(array);

            //foreach(var item in returnedarray)
            // {
            //     Console.WriteLine(item);
            // }

            //LinkedListPractise.LinkedListMethod();
            //var reversed = StackPractise.ReverseWord("Zubair");

            //Console.WriteLine(reversed);

            //var towerofHinoi = new Hinoitower(2);
            //towerofHinoi.Start();
            //Console.WriteLine(towerofHinoi.getStats());
            //HashTablePractise.HashTableFunctions();
            //HashSetDemo.HashSetDemoMain();
            //BST_Visualization.BST_Visualization_Main();

            var graph = new Graph <int>(true, true);
            var n1    = graph.AddNode(2);
            var n2    = graph.AddNode(3);
            var n3    = graph.AddNode(4);
            var n5    = graph.AddNode(7);
            var n6    = graph.AddNode(4);
            var n7    = graph.AddNode(3);

            graph.AddEdge(n1, n2, 2);
            graph.AddEdge(n1, n3, 5);
            graph.AddEdge(n3, n5, 5);
            graph.AddEdge(n3, n2, 6);
            graph.AddEdge(n2, n1, 5);
            graph.AddEdge(n5, n6, 5);
            graph.AddEdge(n5, n7, 5);

            var edges = graph.GetEdges();

            foreach (var node in graph.MinimumSpanningTreePrim())
            {
                Console.WriteLine(node);
            }
        }