Which of the following code snippet performs linear search recursively? for(i=0;i<n;i++) { if(a[i]==key) printf("element found"); } LinearSearch(int[] a, n,key) { if(n<1) return False if(a[n]==key) return True else LinearSearch(a,n-1,key) } LinearSearch(int[] a, n,key) { if(n<1) return True if(a[n]==key) return False else LinearSearch(a,n-1,key) } LinearSearch(int[] a, n,key) { if(n<1) return False if(a[n]==key) return True else LinearSearch(a,n+1,key) }
Question
Which of the following code snippet performs linear search recursively? for(i=0;i<n;i++) { if(a[i]==key) printf("element found"); } LinearSearch(int[] a, n,key) { if(n<1) return False if(a[n]==key) return True else LinearSearch(a,n-1,key) } LinearSearch(int[] a, n,key) { if(n<1) return True if(a[n]==key) return False else LinearSearch(a,n-1,key) } LinearSearch(int[] a, n,key) { if(n<1) return False if(a[n]==key) return True else LinearSearch(a,n+1,key) }
Solution
The correct code snippet that performs linear search recursively is:
LinearSearch(int[] a, n,key) { if(n<1) return False if(a[n]==key) return True else LinearSearch(a,n-1,key) }
This function starts from the end of the array and compares each element with the key until it finds a match or until it has checked all elements. If it finds a match, it returns True, otherwise it returns False. The recursion is done by calling the function itself with the same array, but with the length reduced by 1.
Similar Questions
Linear search(recursive) algorithm used in _____________
Choose the code snippet which uses recursion for linear search.public void linSearch(int[] arr, int first, int last, int key){ if(first == last) { System.out.print("-1"); } else { if(arr[first] == key) { System.out.print(first); } else { linSearch(arr, first+1, last, key); } }} public void linSearch(int[] arr, int first, int last, int key) { if(first == last) { System.out.print("-1"); } else { if(arr[first] == key) { System.out.print(first); } else { linSearch(arr, first+1, last-1, key); } } }public void linSearch(int[] arr, int first, int last, int key){ if(first == last) { System.out.print("-1"); } else { if(arr[first] == key) { System.out.print(last); } else { linSearch(arr, first+1, last, key); } }}public void linSearch(int[] arr, int first, int last, int key){ if(first == last) { System.out.print("-1"); } else { if(arr[first] == key) { System.out.print(first); } else { linSearch(arr, first+1, last+1, key); } }}
How does the binary search work? a. Divides an array into two smaller subarrays and applies a linear search to each of them b. None of the above c. Compares each second element with a key recursively d. Recursively goes to the left or right subarrays and compares a key with the middle e. Compares each element with a key starting from 0`s element till the last element iteratively
Linear search(recursive) algorithm used in _____________ans.Never usedWhen the size of the dataset is largeWhen the dataset is unorderedWhen the size of the dataset is low Previous Marked for Review Next
In a linear search, how does the search process proceed?Divides the array into halves and searches each half recursivelyCompares each element with the target value sequentiallyUses a hash table to find the target valueSorts the array and performs a binary search
Upgrade your grade with Knowee
Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.