Linear search using recursion in python

View Discussion

Improve Article

Save Article

  • Read
  • Discuss
  • View Discussion

    Improve Article

    Save Article

    Given an unsorted array and an element x, search x in the given array. Write recursive C code for this. If the element is not present, return -1. 

    Approach : The idea is to compare x with the last element in arr[]. If the element is found at the last position, return it. Else recur searchElement[] for remaining array and element x. 

    C++

    #include

    using namespace std;

    int searchElement[int arr[], int size, int x] {

        size--;

        if [size < 0] {

            return -1;

        }

        if [arr[size] == x] {

            return size;

        }

        return searchElement[arr, size, x];

    }

    int main[] {

        int arr[] = {17, 15, 11, 8, 13, 19};

        int size = sizeof[arr] / sizeof[arr[0]];

        int x = 11;

        int idx = searchElement[arr, size, x];

        if [idx != -1] 

            cout

    Javascript

    function recSearch[arr, l, r, x] 

        if [r < l] 

            return -1; 

        if [arr[l] == x] 

            return l; 

        if [arr[r] == x] 

            return r; 

         return recSearch[arr, l+1, r-1, x]; 

        let arr = [12, 34, 54, 2, 3]; 

        let i; 

        let n = arr.length; 

        let x = 23; 

        let index = recSearch[arr, 0, n - 1, x]; 

        if [index != -1]{

          document.write[`Element ${x} is present at index ${index}`]; 

        }

        else{

            document.write["Element is not present " + x]; 

        }

    Output

    Element 11 is present at index 2

    Explanation

    We iterate through the array from the end by decrementing the size variable and recursively calling the function searchElement[]. If the size variable becomes less than zero it means the element is not present in the array and we return -1. If a match is found, we return the size variable which is the index of the found element. This process is repeated until a value is returned to main[].

    It is important to note that if there are duplicate elements in the array, the index of the last matched element will be returned since we are [recursively] iterating the array from the end.

    Time Complexity: O[N], where N is the size of the given array.
    Auxiliary Space: O[1]

    Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
     


    How do you use recursion in linear search?

    The program output is also shown below..
    /* C Program to implement Linear Search Algorithm recursively */.
    #include .
    int RecursiveLS[int arr[], int value, int index, int n].
    int pos = 0;.
    if[index >= n].
    return 0;.

    What is linear recursion in Python?

    A linear recursive function is a function that only makes a single call to itself each time the function runs [as opposed to one that would call itself multiple times during its execution]. The factorial function is a good example of linear recursion.

    How do you code a linear search in Python?

    Python Program.
    def linear_Search[list1, n, key]:.
    # Searching list1 sequentially..
    for i in range[0, n]:.
    if [list1[i] == key]:.
    return i..
    return -1..
    list1 = [1 ,3, 5, 4, 7, 9].
    key = 7..

    What is linear and binary search in Python?

    Linear search is a search that finds an element in the list by searching the element sequentially until the element is found in the list. On the other hand, a binary search is a search that finds the middle element in the list recursively until the middle element is matched with a searched element.

    Chủ Đề