public int Value { get; set; }
public Node Left { get; set; }
public Node Right { get; set; }
public Node(int value, Node left, Node right)
public class BinarySearchTree
public static bool Contains(Node root, int value)
if (root.Value == value) {
else if (root.Value > value) {
return Contains(root.Left, value);
else if (root.Value < value) {
return Contains(root.Right, value);
public static void Main(string[] args)
Node n1 = new Node(1, null, null);
Node n3 = new Node(3, null, null);
Node n2 = new Node(2, n1, n3);
Console.WriteLine(Contains(n2, 3));