Binary
Binary
1 2 2 1 3
{1,8}
{3,6}
{5,4} => 5
{6,3}
2*2*2*2*2*2
tar = 24
{1 5 8 15 25 35 45 78} =>
st=0,en=7,mid = 3 ar[3] = 15
st=4,en=7,mid = 5 ar[5] = 35
st=4,en=6,mid = 5 ar[5] = 35
st=4,en=5,mid =4 ar[4] = 25
st=4,en=4,mid = 4,a[4]= 15
st=5,nd=4
{78 45 35 25 15 8 5 1}
mid = 25
while(st<=en){
if(tar>ar[mid]) en = mid-1;
else if(tar<ar[mid]) st=mid+1;
else return mid;
}
return -1;
146
st=1,en=72 , mid = 36
st =1, en = 35 ,mid = 18
st =1 ,en = 17, mid = 9
st=10,en = 17 mid = 13
st=10,en=16, mid = 13
st=10,en=12, mid = 11
st=12,en=12 ,mid = 12
st=13,end=12
while(st<=end){
if(mid*mid > n){
en = mid-1;
}else if(mid*mid<n){
st = mid+1;
}else{
return mid;
}
}
linear search
146 => 72
1->73
1
2
3
4
5
6
7
8
9
10
11
12
13
i=1 i<n/2
i*i == n {
return i
}
(i*i>n) return false;
=> start = 0, end = 7,mid = (start+end)/2; =3
arr[mid] = 15
arr[5] = 35
tar < arr[5] => end= mid-1 => 4
start + end = mid= 8/2 => 4
arr[4] = 25
tar==mid return
1024 /2 => 512/2 => 256/2 => 128/2 => 64/2 => 32/2 = 16
tar = 24
linear search
binary search
square root
reverse array
factorial
fibonacci series
8=>
0 1 1 2 3 5 8 13 21
n= 5
ans=120
int ans = 1;
for(int i=1;i<=n;i++){
ans *= i;
}
ans = 1
i = 1
ans = 1*1 = >1
ans = 1*2 => 2
ans = 2*3 => 6
ans = 6*4 =. 24
ans = 24*5 => 120
print(ans)
12 3 45 7 8 65
arr[] =>
65 8 7 45 3 12
1,2,5,47,5,4,5,21,2,45,6
6 45 2 21 5 4 547 5 2 1
st=5,en=5,
temp = ,
while(start<end) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}