示例#1
0
        static void Main(string[] args)
        {
            var graph = new GraphCore();

            for (int i = 0; i < 6; i++)
            {
                graph.AddVertex();
            }

            graph.ConnectVertex(1, 4);
            graph.ConnectVertex(2, 4);
            graph.ConnectVertex(3, 4);
            graph.ConnectVertex(4, 5);
            graph.ConnectVertex(5, 6);

            Console.WriteLine(string.Join(";", graph.GeneratePruferCode()));

            Console.ReadKey();
        }
示例#2
0
        private void DrawGraph()
        {
            graphVisualizer = new Graph();
            graphVisualizer.Attr.LayerDirection = LayerDirection.TB;

            foreach (var item in graph.Vertices)
            {
                graphVisualizer.AddNode(item.Id.ToString());
            }

            foreach (var item in graph.Edges)
            {
                var edge = graphVisualizer.AddEdge(item.First.Id.ToString(), item.Second.Id.ToString());
                edge.Attr.ArrowheadAtSource = edge.Attr.ArrowheadAtTarget = ArrowStyle.None;
            }


            graphViewer.Graph = graphVisualizer;


            PruferCodeTextBox.Text = string.Join(" ; ", graph.GeneratePruferCode());
        }