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

DWDM 2024 question paper with solution

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