Vidyalelo
Data Structure · Q1160

Miscellaneous on Data Structures

Programming · Data Structure · question 1160

Q1160

What is the time complexity of the recursive implementation used to find the largest and smallest element in a linked list? #include #include struct Node int val; struct Node* next; *head; int max_of_two(int a, int b) if(a > b) return a; return b; int recursive_get_max(struct Node* temp) if(temp->next == 0) return temp->val; return max_of_two(temp->val,recursive_get_max(temp->next)); int min_of_two(int a, int b) if(a next == 0) return temp->val; return min_of_two(temp->val,recursive_get_min(temp->next)); int main() int n = 9, arr[9] =1,3,2,4,5,0,5,6,7,i; struct Node *temp, *newNode; head = (struct Node*)malloc(sizeof(struct Node)); head -> next =0; temp = head; for(i=0;i next = 0; newNode->val = arr[i]; temp->next =newNode; temp = temp->next; int max_num = recursive_get_max(head->next); int min_num = recursive_get_min(head->next); printf("%d %d",max_num,min_num); 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