public Node populateTree(Node r, int[] data, int i) { if (i < data.Length) { r = new Node(data[i]); r.SetLeft(populateTree(root.GetLeft(), data, i * 2 + 1)); r.SetRight(populateTree(root.GetRight(), data, i * 2 + 2)); } return(r); }