Question generated for student with ID 0379359

  (You are responsible to check if your student number is correct!)
  Read carefully the binary tree implementation given in class. Using that given tree structure to dothe following problems:
  1. Write a function to find the predecessor and successor of a given value of a binary tree.Definition : If node X has two children, its predecessor is the maximum value in its left subtree and its successor is the minimum value in its right subtree
  2. Write a function to delete duplicate entries from a binary tree
  3. Write a function that uses pre-order tranversal to place the values of the nodes in an array
    datatype pre_ordered[]
  4. For a given binary tree, write a function to identify if the nodes follow the arrangement of a binary search tree or not.It should return 1 if the binary tree is a binary search tree, 0 otherwise. Arrangement: For each node, all the nodes in its left subtree must be less than or equal to it and all the nodes in its right subtree must be greater than it.
  5. Write a function that prints all paths from root to leaf of a binary tree
  You must also write a main function with other sufficient function calls to Insert() and Print() and several test cases to make sure your program performs properly! Each program should be in a seperate file with meaningfulcomments for your code. You may re-use as much code as needed for each part.