**Please original answers only**

**1.Draw the recursion tree when n = 8, where n represents the length of the array, for the following recursive method:**

int sum(int[] array, int first, int last)

{

if (first == last) return array[first];

int mid = (first + last) / 2;

return sum(array, first, mid) + sum(array, mid + 1, last);

}

-Determine a formula that counts the numbers of nodes in the recursion tree.

-What is the Big-Q for execution time?

-Determine a formula that expresses the height of the tree.

-What is the Big-Q for memory?

-Writ an iterative solution for this same problem and compare its efficiency with this recursive solution.

*2. Using the recursive method in problem 1 and assuming n is the length of the array.*

-Modify the recursion tree from the previous problem to show the amount of work on each activation and the row sums.

-Determine the initial conditions and recurrence equation.

-Determine the critical exponent.

-Apply the Little Master Theorem to solve that equation.

-Explain whether this algorithm optimal.