0% found this document useful (0 votes)
7 views2 pages

Binary Search iter vs recursive

Uploaded by

riddhijain1003
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views2 pages

Binary Search iter vs recursive

Uploaded by

riddhijain1003
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Binary Search

#include <stdio.h>
int recursiveBinarySearch(int array[], int start_index, int end_index, int element)
{
if (end_index >= start_index){
int middle = start_index + (end_index - start_index )/2;
if (array[middle] == element)
return middle;
if (array[middle] > element)
return recursiveBinarySearch(array, start_index, middle-1, element);
return recursiveBinarySearch(array, middle+1, end_index, element);
}
return -1;
}
int main(void){
int array[] = {1, 4, 7, 9, 16, 56, 70};
int n = 7;
int element = 9;
int found_index = recursiveBinarySearch(array, 0, n-1, element);
if(found_index == -1 ) {
printf("Element not found in the array ");
}
else {
printf("Element found at index : %d",found_index);
}
return 0;
}
Binary Search
Iterative Recursion
#include <stdio.h> #include <stdio.h>
int iterativeBinarySearch(int array[], int recursiveBinarySearch(int array[], int
int start_index, int end_index, int start_index, int end_index, int element)
element) {
{ if (end_index >= start_index){
while (start_index <= end_index){ int middle = start_index + (end_index
int middle = start_index + - start_index )/2;
(end_index- start_index )/2; if (array[middle] == element)
if (array[middle] == element) return middle;
return middle; if (array[middle] > element)
if (array[middle] < element) return
start_index = middle + 1; recursiveBinarySearch(array,
else start_index, middle-1, element);
end_index = middle - 1; return
} recursiveBinarySearch(array,
return -1; middle+1, end_index, element);
} }
int main(void){ return -1;
int array[] = {1, 4, 7, 9, 16, 56, 70}; }
int n = 7; int main(void){
int element = 16; int array[] = {1, 4, 7, 9, 16, 56, 70};
int found_index = int n = 7;
iterativeBinarySearch(array, 0, n-1, int element = 9;
element); int found_index =
if(found_index == -1 ) { recursiveBinarySearch(array, 0, n-1,
printf("Element not found in the element);
array "); if(found_index == -1 ) {
} printf("Element not found in the array
else { ");
printf("Element found at index : }
%d",found_index); else {
} printf("Element found at index :
return 0; %d",found_index);
} }
return 0;
}

You might also like