input: Write a function to perform depth-first search in a binary tree.
  assert depth_first_search(tree, 5) == True
  assert depth_first_search(tree, 10) == False
  assert depth_first_search(tree, 3) == True
output: def depth_first_search(root, target):
      if root is None:
          return False
      if root.val == target:
          return True
      return depth_first_search(root.left, target) or depth_first_search(root.right, target)