private Graph treeToGraph(ScoreNode root, Graph graph)
        {
            if (root != null)
            {
                if (root.getLeft() != null)
                {
                    graph.AddEdge(root.getNodeText(), root.getLeft().getNodeText());
                    treeToGraph(root.getLeft(), graph);
                }

                if (root.getRight() != null)
                {
                    graph.AddEdge(root.getNodeText(), root.getRight().getNodeText());
                    treeToGraph(root.getRight(), graph);
                }
            }

            return(graph);
        }
        private void allocateTree(ScoreNode root, int levelsNumber, int currentLevel)
        {
            if (levelsNumber > currentLevel)
            {
                root.setLeft(new ScoreNode(generatedNodes++));
                root.setRight(new ScoreNode(generatedNodes++));

                allocateTree(root.getLeft(), levelsNumber, currentLevel + 1);
                allocateTree(root.getRight(), levelsNumber, currentLevel + 1);
            }
        }
 private void rowToTree(ScoreNode node, DataGridViewRow row)
 {
     foreach (DataGridViewCell cell in row.Cells)
     {
         if (cell.Value.ToString() == "y")
         {
             node.setScore1(node.getScore1() + 1);
             node = node.getRight();
         }
         if (cell.Value.ToString() == "n")
         {
             node.setScore0(node.getScore0() + 1);
             node = node.getLeft();
         }
     }
 }