0% found this document useful (0 votes)
25 views

Unit 3 - Searching and Sorting

The document discusses bubble sort, insertion sort and selection sort algorithms. It provides examples of how each algorithm sorts an array through multiple passes. It also includes pseudo code for the algorithms.

Uploaded by

itskanishka1202
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

Unit 3 - Searching and Sorting

The document discusses bubble sort, insertion sort and selection sort algorithms. It provides examples of how each algorithm sorts an array through multiple passes. It also includes pseudo code for the algorithms.

Uploaded by

itskanishka1202
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

UNIT III

UNIT III

SEARCHING AND SORTING


BY

Mr. Nagesh Sharma, A.P. Department of CSE (AI),


KIET Group of Institutions
EXAMPLE OF BUBBLE SORT

PASS 1 7 4 2 3 6 1

j=0, 7>4 4 7 2 3 6 1

j=1, 7>2 4 2 7 3 6 1

j=2, 7>3 4 2 3 7 6 1

j=3, 7>6 4 2 3 6 7 1

j=4, 7>1 4 2 3 6 1 7

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


EXAMPLE OF BUBBLE SORT

PASS 2 4 2 3 6 1 7

j=0, 4>2 2 4 3 6 1 7

j=1, 4>3 2 3 4 6 1 7

j=2, 4<6 2 3 4 6 1 7

j=3, 6>1 2 3 4 1 6 7

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


EXAMPLE OF BUBBLE SORT

PASS 3 2 3 4 1 6 7

j=0, 2<3 2 3 4 1 6 7

j=1, 3<4 2 3 4 1 6 7

j=2, 4>1 2 3 1 4 6 7

PASS 4 2 3 1 4 6 7

j=0, 2>3 2 3 1 4 6 7

j=1, 3>1 2 1 3 4 6 7

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


EXAMPLE OF BUBBLE SORT

PASS 5 2 1 3 4 6 7

j=0, 2<3 1 2 3 4 6 7

Final Array After Sorting

1 2 3 4 6 7

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


BUBBLE SORT ALGORITHM

Bubble (A, N)
1.Repeat Step 2 for I=1 to N-1.

2. Repeat Step 3 for j = 0 to n-i-1

3. do if A [j] > A [j+1]


then: Interchange A [j] and A[j+1]

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


IMPROVED BUBBLE SORT ALGORITHM

Bubble (A, N)
1.Repeat Step 2, 3 and 5 for I=1 to N-1.

2. Set flag=0

3. Repeat Step 4 for j = 0 to n-i-1

4. do if A [j] > A [j+1],


then: flag = 1
Interchange A [j] and A[j+1]

5. if(flag = =0)

6. then break

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


EXAMPLE OF INSERTION SORT

PASS 1
7 2 4 6 3 1
Key=2, j=1

i=0, 7>2 7 7 4 6 3 1

i=-1, A[0]= 2 2 7 4 6 3 1

PASS 2
2 7 4 6 3 1
Key=4, j=2

i=1, 7>4 2 7 7 6 3 1

i=0, 2<4, A[1]=4 2 4 7 6 3 1

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


EXAMPLE OF INSERTION SORT

PASS 3
Key=6, j=3 2 4 7 6 3 1

i=2, 7>6 2 4 7 7 3 1

i=1, 4<6, A[2]=6 2 4 6 7 3 1

PASS 4
Key=3, j=4 2 4 6 7 3 1

i=3, 7>3 2 4 6 7 7 1

i=2, 6>3 2 4 6 6 7 1

i=1, 4>3 2 4 4 6 7 1

i=0, 2<3, A[1]=3 2 3 4 6 7 1

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


EXAMPLE OF INSERTION SORT

PASS 5
Key=1, j=5 2 3 4 6 7 1

i=4, 7>1 2 3 4 6 7 7

i=3, 6>1 2 3 4 6 6 7

i=2, 4>1 2 3 4 4 6 7

i=1, 3>1 2 3 3 4 6 7

i=0, 2>1 2 2 3 4 6 7

i=-1, A[0]= 1 1 2 3 4 6 7

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


INSERTION SORT ALGORITHM

INSERTION_SORT (A, N)
1. Repeat Step 2 to 5 for j = 1, 2, …, N-1:

2. Key = A[j]

3. i = j – 1.

4. Repeat while i>=0 and A[i]> Key:


(a) A [i+1] = A[i]
(b) i = i – 1

5. Set A[i+1] = Key

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


EXAMPLE OF INSERTION SORT

8 2 4 9 3 6

2 8 4 9 3 6

2 4 8 9 3 6

2 4 8 9 3 6

2 3 4 8 9 6

2 3 4 6 8 9 done
SELECTION SORT ALGORITHM

Selection_Sort (A, n)
1. For i = 0 to n - 2
2. Set Min = A[i]
3. loc = i
4. For j = i + 1 to n - 1
5. if(A[j] < Min) then:
6. Min = A[j].
7. loc=j
8. if (loc != i)
9. Then swap (A[i], A[loc]).

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


EXAMPLE OF SELECTION SORT

PASS 1
Min=7, loc=0 7 4 2 3 6 1

Step 1: j=1, 4<7, Min=4, loc = 1

Step 2: j=2, 2<4, Min=2, loc = 2

Step 3: j=3, 3>2, Min=2, loc = 2

Step 4: j=4, 6>2, Min=2, loc = 2

Step 5: j=5, 1<2, Min=1, loc = 5

Array After Pass 1: 1 4 2 3 6 7

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


EXAMPLE OF SELECTION SORT

PASS 2
Min=4, loc=1 1 4 2 3 6 7

Step 1: j=2, 2<4, Min=2, loc = 2

Step 2: j=3, 3<4, Min=2, loc = 2

Step 3: j=4, 6>2, Min=2, loc = 2

Step 4: j=5, 7>2, Min=2, loc = 2

Array After Pass 2: 1 2 4 3 6 7

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


EXAMPLE OF SELECTION SORT

PASS 3
Min=4, loc=2 1 2 4 3 6 7

Step 1: j=3, 3<4, Min=3, loc = 3

Step 2: j=4, 6>3, Min=3, loc = 3

Step 3: j=5, 7>3, Min=3, loc = 3

Array After Pass 3: 1 2 3 4 6 7

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


EXAMPLE OF SELECTION SORT

PASS 4
Min=4, loc=3 1 2 3 4 6 7

Step 2: j=4, 6>4, Min=4, loc = 3

Step 3: j=5, 7>4, Min=4, loc = 3

Array After Pass 4: 1 2 3 4 6 7

PASS 5
Min=6, loc=4 1 2 3 4 6 7

Step 3: j=5, 7>6, Min=6, loc = 4

Array After Pass 5: 1 2 3 4 6 7

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


MERGE SORT ALGORITHM

MergeSort (A, low, high)


1 if low < high
2 then mid  (low+high)/2
3 MergeSort (A, low, mid)
4 MergeSort (A, mid+1, high)
5 Merge (A, low, mid, high)

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


MERGE PROCEDURE OF MERGE SORT ALGORITHM

Merge (A, low, mid, high) 16. While (i<n1)


1. n1= mid – low + 1 17. do A[k] = L[i]
2. n2 = high-mid 18. k = k +1
3. for i = 0 to n1 – 1 19. I = I +1
4. do L[i] = A[low + i] 20. while (j<n2)
5. for j = 0 to n2 – 1 21. do A[k] = R[j]
6. do R[j] = A[mid + j+1] 22. k=k+1
7. i=0, j=0, k = low 23. j=j+1
8. While (i<n1 and j <n2)
9. Do if(L[i] < = R[j])
10. then A[k] = L[i]
11. k = k +1
12. I = I +1
13. else A[k] = R[j]
14. k=k+1
15. j=j+1
Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions
EXAMPLE OF MERGE SORT

MS(A, 0, 5)
6 1 3 9 5 8

MS(A, 0, 2) MS(A, 3, 5)

6 1 3 9 5 8
MS (A, 2, 2) MS (A, 5, 5)
MS (A, 0, 1) MS (A, 3, 4)
6 1 3 9 5 8
MS (A, 0, 0) MS (A, 1, 1) MS (A, 3, 3) MS (A, 4, 4)

6 1 9 5
Merge (A, 0, 0, 1)
Merge (A, 3, 3, 4)
1 6 5 9
Merge (A, 3, 4, 5)
Merge (A, 0, 1, 2)
1 3 6 5 8 9
Merge (A, 0, 2, 5)
1 3 5 6 8 9

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


RECURSION TREE OF MERGE SORT
SORTED
SORTED MergeSort (A, 0, 0)

MergeSort (A, 0, 1)
MergeSort (A, 1, 1) SORTED
SORTED
MergeSort (A, 0, 2) Merge (A, 0, 0, 1)
SORTED
MergeSort (A, 2, 2)
SORTED
MergeSort (A, 0, 5) Merge (A, 0, 1, 2)
SORTED
SORTED MergeSort (A, 3, 3)

SORTED MergeSort (A, 3, 4)


MergeSort (A, 4, 4) SORTED
MergeSort (A, 3, 5) SORTED
MergeSort (A, 5, 5) Merge (A, 3, 3, 4)

Merge (A, 3, 4, 5)

Merge (A, 0, 2, 5)

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


QUICK SORT ALGORITHM

QUICKSORT(A, p, r) PARTITION(A, p, r)
1 if p < r 1 Key = A[r]
2 then q ← PARTITION(A, p, r) 2 i=p
3 QUICKSORT(A, p, q - 1) 3 for j = p to r - 1
4 QUICKSORT(A, q + 1, r) 4 do if A[j] <= Key
5 then exchange A[i] ↔ A[j]
6 i=i+1
7 exchange A[i] ↔ A[r]
8 return i

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


EXAMPLE OF QUICK SORT

Key = 3, i= 0 QUICK SORT(A, 0, 5)

j=0, 7>3, i=0 7 4 2 1 6 3

j=1, 4>3, i=0 7 4 2 1 6 3

j=2, 2<3,Swap(7, 2), i=1 7 4 2 1 6 3

j=3, 1<3, Swap(4,1), i=2 2 4 7 1 6 3

j=4, 6>3, i=2 2 1 7 4 6 3

2 1 3 4 6 7

QUICK SORT(A, 0, 1) QUICK SORT(A, 3, 5)

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


EXAMPLE OF QUICK SORT

Key = 1, i= 0 QUICK SORT(A, 0, 1)

j=0, 2>1, i=0 2 1 3 4 6 7

Swap(1, 2) 1 2 3 4 6 7

QUICK SORT(A, 1, 0) QUICK SORT(A, 1, 1)


low>high low=high

1 2 3 4 6 7

1 2 3 4 6 7

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


EXAMPLE OF QUICK SORT

Key = 7 low=high, already sorted


Set i= 4 QUICK SORT(A, 3, 5)

j=4, 4<7,
1 2 3 4 6 7
swap(4,4),set i=5

j=5, 6<7, 1 2 3 4 6 7
swap(6,6),set i=6

swap(7,7) 1 2 3 4 6 7

QUICK SORT(A, 5, 4)
QUICK SORT(A, 3, 4) low>high

1 2 3 4 6 7

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


EXAMPLE OF QUICK SORT

Key = 6
Set i= 4 QUICK SORT(A, 3, 4)

j=4, 4<6,
1 2 3 4 6 7
swap(4,4),set i=5

swap(7,7) 1 2 3 4 6 7

QUICK SORT(A, 5, 4)
QUICK SORT(A, 3, 3)
low=high low>high

low=high, already sorted 1 2 3 4 6 7

1 2 3 4 6 7

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


COUNTING SORT PROCEDURE

void countsort(int A[],int n,int k)


{
int C[20],B[20], i,j,t;
for(i=0;i<=k;i++)
C[i]=0;
for(j=0;j<n;j++)
C[A[j]]=C[A[j]] + 1;
for(i=1;i<=k;i++)
C[i]=C[i-1]+C[i];
for(j=n-1;j>=0;j--){
B[C[A[j]]-1]=A[j];
c[A[j]]--;
}
for(i=0;i<n;i++)
A[i]=B[i];
Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions
}
EXAMPLE OF COUNTING SORT

0 4 2 1 0 2

0 0 0 0 0 C Array Elements initialized to 0


(0) (1) (2) (3) (4)

2 1 2 0 1 C Array stores Count of


Element Equal to A[j]
(0) (1) (2) (3) (4)

Now, C Array stores Count of


2 3 5 5 6
Element Less than or Equal to A[j]
(0) (1) (2) (3) (4)

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


EXAMPLE OF COUNTING SORT
0 4 2 1 0 2

2 2 3 5 5 6 2
(0) (1) (2) (3) (4) (0) (1) (2) (3) (4) (5)

0 2 3 4 5 6 0 2
(0) (1) (2) (3) (4) (0) (1) (2) (3) (4) (5)

1 1 3 4 5 6 0 1 2
(0) (1) (2) (3) (4) (0) (1) (2) (3) (4) (5)
2 1 2 4 5 6 0 1 2 2
(0) (1) (2) (3) (4) (0) (1) (2) (3) (4) (5)

4 1 2 3 5 6 0 1 2 2 4

(0) (1) (2) (3) (4) (0) (1) (2) (3) (4) (5)

0 1 2 3 5 5 0 0 1 2 2 4

(0) (1) (2) (3) (4) (0) (1) (2) (3) (4) (5)
Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions
RADIX SORT ALGORITHM

RADIX-SORT(A, d)
1 for i ← 1 to d
2 do use a stable sort to sort array A on digit i

The above procedure assumes that each element in the n-element


array A has d digits, where digit 1 is the lowest-order digit and digit d
is the highest-order digit.

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


RADIX SORT ALGORITHM

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


FUNCTION OF RADIX SORT

void radix(int a[],int n,int d) for(i=1;i<=k;i++)


{ c[i]=c[i-1]+c[i];
int i,j,t,r,k=9; for(j=n-1;j>=0;j--){
int p=1; r=(a[j]/p)%10;
for(t=0;t<d;t++) B[c[r]-1]=a[j];
{ c[r]--;
int c[20],B[20]; }
for(i=0;i<=k;i++) for(i=0;i<n;i++)
c[i]=0; a[i]=B[i];
for(j=0;j<n;j++){ p*=10;
r=(a[j]/p)%10; }
c[r]+=1; }
}
Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions
SORT FOLLOWING ELEMENTS USING RADIX SORT
918, 423, 657, 213, 431, 205

SORTING ARRAY ON DIGIT 1

918 423 657 213 431 205


(0) (1) (2) (3) (4) (5)

0 0 0 0 0 0 0 0 0 0
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9)

0 1 0 2 0 1 0 1 1 0
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9)

0 1 1 3 3 4 4 5 6 6
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9)

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


918 423 657 213 431 205
EXAMPLE OF RADIX SORT
(0) (1) (2) (3) (4) (5)

0 1 1 3 3 4 4 5 6 6 205
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)
0 1 1 3 3 3 4 5 6 6 431 205
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)

0 0 1 3 3 3 4 5 6 6 431 213 205


(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)

0 0 1 2 3 3 4 5 6 6 431 213 205 657


(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)
0 0 1 2 3 3 4 4 6 6 431 423 213 205 657
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)

0 0 1 1 3 3 4 4 6 6 431 423 213 205 657 918


(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)

0 0 1 1 3 3 4 4 5 6
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9)
SORTING ARRAY ON DIGIT 2

431 423 213 205 657 918


(0) (1) (2) (3) (4) (5)

0 0 0 0 0 0 0 0 0 0
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9)

1 2 1 1 0 1 0 0 0 0
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9)

1 3 4 5 5 6 6 6 6 6
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9)

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


431 423 213 205 657 918
EXAMPLE OF RADIX SORT
(0) (1) (2) (3) (4) (5)

1 3 4 5 5 6 6 6 6 6 918
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)
1 2 4 5 5 6 6 6 6 6 918 657
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)

1 2 4 5 5 5 6 6 6 6 205 918 657


(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)

0 2 4 5 5 5 6 6 6 6 205 213 918 657


(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)
0 1 4 5 5 5 6 6 6 6 205 213 918 423 657
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)

0 1 3 5 5 5 6 6 6 6 205 213 918 423 431 657


(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)

0 1 3 4 5 5 6 6 6 6
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9)
SORTING ARRAY ON DIGIT 3

205 213 918 423 431 657


(0) (1) (2) (3) (4) (5)

0 0 0 0 0 0 0 0 0 0
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9)

0 0 2 0 2 0 1 0 0 1
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9)

0 0 2 2 4 4 5 5 5 6
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9)

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


205 213 918 423 431 657
EXAMPLE OF RADIX SORT
(0) (1) (2) (3) (4) (5)

0 0 2 2 4 4 5 5 5 6 657
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)
0 0 2 2 4 4 4 5 5 6 431 657
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)

0 0 2 2 3 4 4 5 5 6 423 431 657


(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)

0 0 2 2 2 4 4 5 5 6 423 431 657 918


(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)
0 0 2 2 2 4 4 5 5 5 213 423 431 657 918
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)

0 0 1 2 2 4 4 5 5 5 205 213 423 431 657 918


(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) (1) (2) (3) (4) (5)

0 0 0 2 2 4 4 5 5 5
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9)
COMPARISON AMONG DIFFERENT SORTING

Best Average Worst


Case Case Case

Bubble Sort O(n) O(n2) O(n2)


Insertion Sort O(n) O(n2) O(n2)
Selection Sort O(n2) O(n2) O(n2)
Merge Sort O(n log n) O(n log n) O(n log n)
Quick Sort O(n log n) O(n log n) O(n2)
Heap Sort O(n log n) O(n log n) O(n log n)

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


LINEAR SEARCH

Linear Search:
• Compares the item of interest with each element ofArray
one by one.

• Traverses the Array sequentially to locate the desired item.

• Time Complexity: O(n)


LINEAR SEARCH ALGORITHM (ITERATIVE)

LINEAR_SEARCH ( A, N, key)
1. Set LOC = -1
Call Inside Calling Function
2. Repeat Steps 2 to 7 for j = 0 to N-1 LINEAR_SEARCH(A, N, Key)

3. If Key = = A[j]

4. Then LOC= j and return LOC

5. Return LOC // returns -1 if Element does not exists in the Array

Running time = O(n)

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


LINEAR SEARCH ALGORITHM (RECURSIVE)

LINEAR_SEARCH ( A, N, key)
1. If (N = = 0)
Call Inside Calling Function
2. return -1 //if Element does not exists in the Array LINEAR_SEARCH(A, N, Key)

3. If A[N-1] == key

4. return N-1 // //if Element exists in the Array

5. else return LINEAR_SEARCH ( A, N-1, key)

Running time = O(n)

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


BINARY SEARCH ALGORITHM (ITERATIVE)

BINARY_SEARCH ( A, low,high, key)


1. WHILE( low<=high)
Call Inside Calling Function
2. do mid = (low + high)/2 BINARY_SEARCH(A, 0, N-1, Key)

3. If Key = = A[mid]

4. Then return mid

5. Else if (key < A[mid])

6. high = mi d - 1 Running time = O(log2n)


7. Else low = mid+ 1

8. return -1

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions


BINARY SEARCH ALGORITHM (RECURSIVE)

BINARY_SEARCH ( A, low,high, key)


1. If low>high
Call Inside Calling Function
2. return -1 BINARY_SEARCH(A, 0, N-1, Key)

3. mid = (low + high)/2

4. If Key = = A[mid]

5. Then return mid

6. else if (key < A[mid]) Running time = O(log2n)


7. return BINARY_SEARCH ( A, low, mid - 1, key)

8. else return BINARY_SEARCH ( A, mid + 1 high, key)

Nagesh Sharma, A.P. Department of CSE (AI), KIET Group of Institutions

You might also like