예제 #1
0
        private void ApplyRecoloring(RecoloringFunction recoloringFunction, string algorithm)
        {
            UGraph uGraph = currentGraphEntry.UGraph;

            int[] coloring = currentGraphEntry.Coloring;

            if (coloring == null)
            {
                textBox1.Text = "Cannot recolor uncolored graph";
            }

            coloring = recoloringFunction(coloring);

            if (uGraph.ValidColoring(coloring))
            {
                currentGraphEntry.Coloring = coloring;
                int[]          colorCount     = Utility.ArrayToCount(coloring);
                ColoringResult coloringResult = new ColoringResult(algorithm, colorCount.Length, colorCount);
                currentGraphEntry.Results.Add(coloringResult);

                UpdateDisplay();
            }
            else
            {
                textBox1.Text = "Bogus Coloring";
            }
        }
예제 #2
0
        private void OnColorCheckClick(object sender, EventArgs e)
        {
            UGraph uGraph = currentGraphEntry.UGraph;

            int[] coloring = currentGraphEntry.Coloring;

            if (coloring == null)
            {
                textBox1.Text = "Coloring is empty";
            }
            else if (uGraph.ValidColoring(coloring))
            {
                textBox1.Text = "Valid coloring";
            }
            else
            {
                textBox1.Text = "Invalid coloring";
            }
        }