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
Post a Comment