Skip to content

Commit cac5b69

Browse files
Add files via upload
1 parent 694503e commit cac5b69

File tree

3 files changed

+163
-0
lines changed

3 files changed

+163
-0
lines changed

SEARCHING TECHNIQUES/Binary_Search.c

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
//binary search
2+
#include<stdio.h>
3+
#include<stdlib.h>
4+
#include<time.h>
5+
int flag=0;
6+
7+
int binary_search(int arr[], int data, int size){
8+
int lb=0,ub=size-1;
9+
int mid=(lb+ub)/2;
10+
while(lb<=ub && arr[mid]!=data){
11+
if(data==arr[mid]){
12+
return mid;
13+
}
14+
else if(data<arr[mid]){
15+
ub=mid-1;
16+
}
17+
else if(data>arr[mid]){
18+
lb=mid+1;
19+
}
20+
mid=(lb+ub)/2;
21+
}
22+
if(arr[mid]==data){
23+
printf("%d found at %dth index", data, mid);
24+
}
25+
else{
26+
printf("%d NOT FOUND!!\n",data);
27+
}
28+
}
29+
int main(){
30+
int i,j,range,data;
31+
printf("Enter a limit for Random array: ");
32+
scanf("%d", &range);
33+
int arr[range];
34+
time_t t1;
35+
srand((unsigned)time(&t1));
36+
for(i=0;i<range;i++){
37+
arr[i]=rand()%50;
38+
}
39+
printf("ARRAY:: ");
40+
for(i=0;i<range;i++){
41+
printf("%d ", arr[i]);
42+
}
43+
for(i=0;i<range-1;i++){
44+
for(j=i+1;j<range;j++){ //sorting of array
45+
if(arr[j]<arr[i]){
46+
int temp=arr[i];
47+
arr[i]=arr[j];
48+
arr[j]=temp;
49+
}
50+
}
51+
}
52+
printf("\n\n**We know, Binary Searching works on Sorted array...\n\n");
53+
printf("SORTED ARRAY:: ");
54+
for(i=0;i<range;i++){
55+
printf("%d ", arr[i]);
56+
}
57+
printf("\nEnter data to search: ");
58+
scanf("%d", &data);
59+
//binary search
60+
printf("For the sorted array:: ");
61+
binary_search(arr, data, range);
62+
return 0;
63+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
//interpolation search
2+
#include<stdio.h>
3+
#include<stdlib.h>
4+
#include<time.h>
5+
int flag=0;
6+
7+
int interpolation_search(int arr[], int data, int size){
8+
int lb=0,ub=size-1;
9+
int mid=lb+(((ub-lb)*(data-arr[lb]))/(arr[ub]-arr[lb]));
10+
while(lb<=ub && arr[mid]!=data){
11+
if(data==arr[mid]){
12+
return mid;
13+
}
14+
else if(data<arr[mid]){
15+
ub=mid-1;
16+
}
17+
else if(data>arr[mid]){
18+
lb=mid+1;
19+
}
20+
mid=lb+(((ub-lb)*(data-arr[lb]))/(arr[ub]-arr[lb]));
21+
}
22+
if(arr[mid]==data){
23+
printf("%d found at %dth index", data, mid);
24+
}
25+
else{
26+
printf("%d NOT FOUND!!\n",data);
27+
}
28+
}
29+
int main(){
30+
int i,j,range,data;
31+
printf("Enter a limit for Random array: ");
32+
scanf("%d", &range);
33+
int arr[range];
34+
time_t t1;
35+
srand((unsigned)time(&t1));
36+
for(i=0;i<range;i++){
37+
arr[i]=rand()%50;
38+
}
39+
printf("ARRAY:: ");
40+
for(i=0;i<range;i++){
41+
printf("%d ", arr[i]);
42+
}
43+
for(i=0;i<range-1;i++){
44+
for(j=i+1;j<range;j++){ //sorting of array
45+
if(arr[j]<arr[i]){
46+
int temp=arr[i];
47+
arr[i]=arr[j];
48+
arr[j]=temp;
49+
}
50+
}
51+
}
52+
printf("\n\n**We know, Interpolation Searching works on Sorted array...\n\n");
53+
printf("SORTED ARRAY:: ");
54+
for(i=0;i<range;i++){
55+
printf("%d ", arr[i]);
56+
}
57+
printf("\nEnter data to search: ");
58+
scanf("%d", &data);
59+
//interpolation search
60+
printf("For the sorted array:: ");
61+
interpolation_search(arr, data, range);
62+
return 0;
63+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
//linear search or sequential search
2+
#include<stdio.h>
3+
#include<stdlib.h>
4+
#include<time.h>
5+
int i,flag=0;
6+
int linear_search(int arr[], int data, int size){
7+
for(i=0;i<size&&flag==0;i++){
8+
if(arr[i]==data){
9+
flag=1;
10+
printf("\n%d found at %dth index", data, i);
11+
}
12+
}
13+
return flag;
14+
}
15+
int main(){
16+
int range,data;
17+
printf("Enter a limit for Random array: ");
18+
scanf("%d", &range);
19+
int arr[range];
20+
time_t t1;
21+
srand((unsigned)time(&t1));
22+
for(i=0;i<range;i++){
23+
arr[i]=rand()%50;
24+
}
25+
printf("ARRAY:: ");
26+
for(i=0;i<range;i++){
27+
printf("%d ", arr[i]);
28+
}
29+
printf("\nEnter data to search: ");
30+
scanf("%d", &data);
31+
//linear search
32+
linear_search(arr, data, range);
33+
if(flag==0){
34+
printf("\n%d NOT FOUND!!", data);
35+
}
36+
return 0;
37+
}

0 commit comments

Comments
 (0)