DAA lab AKTU practical b.tech 5th sem

 Program 1: program for recursive linear search and binary search in c language

#include <stdio.h>


// Recursive Linear Search

int recursiveLinearSearch(int arr[], int n, int key, int index) {

    if (index >= n)  // Base case: reached end without finding

        return -1;

    if (arr[index] == key) // Found the element

        return index;

    return recursiveLinearSearch(arr, n, key, index + 1); // Search next

}


// Recursive Binary Search

int recursiveBinarySearch(int arr[], int low, int high, int key) {

    if (low > high) // Base case: not found

        return -1;

    int mid = (low + high) / 2;


    if (arr[mid] == key) // Found

        return mid;

    else if (arr[mid] > key) // Search left half

        return recursiveBinarySearch(arr, low, mid - 1, key);

    else // Search right half

        return recursiveBinarySearch(arr, mid + 1, high, key);

}


int main() {

    int arr[] = {2, 4, 6, 8, 10, 12, 14};

    int n = sizeof(arr) / sizeof(arr[0]);

    int key;


    printf("Enter element to search: ");

    scanf("%d", &key);


    // Linear Search

    int linIndex = recursiveLinearSearch(arr, n, key, 0);

    if (linIndex != -1)

        printf("Linear Search: Element found at index %d\n", linIndex);

    else

        printf("Linear Search: Element not found\n");


    // Binary Search (Array must be sorted)

    int binIndex = recursiveBinarySearch(arr, 0, n - 1, key);

    if (binIndex != -1)

        printf("Binary Search: Element found at index %d\n", binIndex);

    else

        printf("Binary Search: Element not found\n");


    return 0;

}


Comments

Popular posts from this blog

B.tech 5th Sem Machin learning lab practical

BCA 3rd year Web Technology(code 304) Web Site development using ASP.NET AND C#

DWDM 2024 question paper with solution