View
39
Download
1
Category
Preview:
Citation preview
Mehedi Hassan 161-15-7667
Arafat Rahman 152-15-5983
Nazmul Islam 152-15-5652
Taijul Islam 152-15-5613
Name :Ms. Rifat Ara ShamsDesignation :Senior LecturerDepartment :Department of Computer Science and EngineeringE-mail :rifat.cse@diu.edu.bdCell-Phone :+880-1723256560
LINEAR BINARY
SEARCH
LINEAR SEARCH
10 46 8 996 2 34 19578
ENTER THE ARRAY ELEMENTS
ENTER THE NUMBER TO BE SEARCHED
2
M[0] M[1] M[2] M[3] M[4] M[5] M[6] M{7] M[8] M[9]
LINEAR SEARCH
10 46 8 996 2 34 19578
2 2 2 2 2 2
THE NUMBER IS FOUND IN THE 6TH POSITION
#include <stdio.h> int main(){ int array[100], search, c, n; printf("Enter the number of elements in array\n"); scanf("%d",&n); printf("Enter %d integer(s)\n", n);for (c = 0; c < n; c++) scanf("%d", &array[c]);
CODE
printf("Enter the number to search\n"); scanf("%d", &search); for (c = 0; c < n; c++) { if (array[c] == search) /* if required element found */ { printf("%d is present at location %d.\n", search, c+1); break; } } if (c == n) printf("%d is not present in array.\n", search); return 0;}
BINARY SEARCH
1 5 8 2412 36 48 876754
ENTER THE ARRAY ELEMENTS
ENTER THE NUMBER TO BE SEARCHED
36
M[0] M[1] M[2] M[3] M[4] M[5] M[6] M{7] M[8] M[9]
BINARY SEARCH
1 5 8 2412 36 48 876754
ENTER THE ARRAY ELEMENTS
ENTER THE NUMBER TO BE SEARCHED 36
M[0] M[1] M[2] M[3] M[4] M[5] M[6] M{7] M[8] M[9]
LB UB
P=LB+UB/2
24
STEP 1FIND THE MIDDLE ELEMENT
P=0+9/2
24 36<
36 48 54 67 87
THE SEARCH ELEMENT LIES IN THE UB
0 1 2 3 4
COMPARING SEARCH WITH MIDDLE ELEMENT
STEP 2
P=LB+UB/2 54
54 > 36
36 48
STEP 3DIVIDE THE ARRAY FURTHER
COMPARING SEARCH WITH MIDDLE ELEMENT
THE SEARCH ELEMENT LIES IN THE LB
3636 =
NUMBER FOUND
STEP 4
36 48
MIDDLE ELEMENT IS COMPARED WITH THE ELEMENTS IN THE ARRAY
#include<stdio.h>int main(){
int a[10],i,n,m,c=0,l,u,mid;
printf("Enter the size of an array: "); scanf("%d",&n);
printf("Enter the elements in ascending order: "); for(i=0;i<n;i++){ scanf("%d",&a[i]); }
printf("Enter the number to be search: "); scanf("%d",&m);
CODE
l=0,u=n-1; while(l<=u){ mid=(l+u)/2; if(m==a[mid]){ c=1; break; } else if(m<a[mid]){ u=mid-1; } else l=mid+1; } if(c==0) printf("The number is not found."); else printf("The number is found.");
return 0;}
Enter the elements of the array in ascending order12Enter the elements of the array in ascending order23Enter the elements of the array in ascending order34Enter the elements of the array in ascending order45Enter the elements of the array in ascending order56Enter the elements of the array in ascending order67Enter the elements of the array in ascending order78Enter the elements of the array in ascending order89Enter the elements of the array in ascending order98Enter the elements of the array in ascending order100Enter the number to be searched67found
Recommended