Question: There are 3 ways to pass array to a function in the code considered: (a) Call by reference: a pointer is passed. Time = (1).
There are 3 ways to pass array to a function in the code considered:
(a) Call by reference: a pointer is passed. Time = (1).
(b) Call by value: copying the entire array. Time = (N), where N is the number of elements in the array.
(c) Call by a partial value: arrays are passed by copying only the subrange that might be accessed by the called procedure. Time = (n) if the subarray contains n elements.

(a) Binary search def binary_search(sequence, start, end, key): if end return False middle = (end + start) //2 if sequence [ middle] = key: return True elif sequence [ middle] > key: return binary_search(sequence, start, middle - 1, key) else: return binary_search(sequence, middle +1, end, key) (b) Merge sort Give 6 recurrences for the worst-case running times of each of the two algorithms above when arrays are passed using each of the three parameter-passing strategies above. Solve your recurrences giving tight asymptotic bounds
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
