Vidyalelo
Data Structure · Q218

Miscellaneous on Data Structures

Programming · Data Structure · question 218

Q218

What is the time complexity of the following recursive implementation used to find the largest and the smallest element in an array? #include int max_of_two(int a, int b) if(a > b) return a; return b; int min_of_two(int a, int b) if(a < b) return a; return b; int recursive_max_element(int *arr, int len, int idx) if(idx == len - 1) return arr[idx]; return max_of_two(arr[idx], recursive_max_element(arr, len, idx + 1)); int recursive_min_element(int *arr, int len, int idx) if(idx == len - 1) return arr[idx]; return min_of_two(arr[idx], recursive_min_element(arr, len, idx + 1)); int main() int n = 10, idx = 0, arr[] = 5,2,6,7,8,9,3,-1,1,10; int max_element = recursive_max_element(arr,n,idx); int min_element = recursive_min_element(arr,n,idx); printf("%d %d",max_element,min_element); return 0;

A.
O(1)
B.
O(n)
Answer
C.
O(n2)
D.
O(n3)

Answer: Option B

Solution

Answer: Option B
No explanation is given for this question Let's Discuss on Board