public static void Main()
int[] treeData = new int[]{10, 15, 5, 22};
int closestNodeValueRecorded = 0;
var tree = new BinarySearchTree();
for (var i = 1; i < treeData.Length; i++)
root = tree.Insert(root, treeData[i]);
public class BinarySearchTree
public Node Insert(Node node, int value)
node.Right = new Node{Value = value};
else if (node.Value <= value)
node.Left = new Node{Value = value};