Binary search Programs
Binary search is used to search an element in a sorted array. It is an efficient search algorithm in a sorted array. If the array is not sorted then the binary search is not working correctly. So when we use binary search algorithm; we have to make sure that the array is sorted.
Pascal, Python and Java Programs are given below for Binary Search:
Pascal Program for Binary Search
program binsearch; {Function for binary Search first parameter - integer number which we search in the sorted array second parameter - is the sorted array in which we search the number} function BinarySearch(X: Integer; A: Array of Integer): boolean; var L, R, M, Cur: Integer; answer :boolean; begin answer := false; if Length(A) = 0 then Exit; L := Low(A); R := High(A); while ((L <= R) AND (answer = false)) do begin M := ((L+R) div 2); Cur := A[M]; if (X = Cur) then begin answer := true; end; if (X > Cur) then L := M +1 else R := M-1; end; BinarySearch := answer; end; {Main Program} var n: array [0..9] of integer; inp: boolean; num:integer; begin n[0]:=12; n[1]:=15; n[2]:=20; n[3]:=27; n[4]:=29; n[5]:=30; n[6]:=78; n[7]:=81; n[8]:=89; n[9]:=95; write('Enter a number to search?'); readln(num); inp:=BinarySearch(num,n); writeln(inp); readln; end.
Python Program for Binary Search
def BinarySearch(X, A): if not A: print('Array Empty') else: answer=False L=0 R=len(A)-1 while ((L<=R) and (answer==False)): M=((L+R) // 2) Cur=A[M] if (X==Cur): answer=True if (X>Cur): L=M+1 else: R=M-1 return answer n=[10,12,45,60,70,80,90] num=int(input('Enter a number to Search?')) inp=BinarySearch(num, n) print('Search number ', num, ' is ' , inp)
Java Program for Binary Search
import java.util.Scanner; public class BinarySearch { public boolean Search(int X, int[] A) { int L,R,M, Cur; boolean answer; answer=false; if (A.length== 0) { return answer; } else { L=0; R=A.length-1; while ((L <= R) && (answer == false)) { M =(int) Math.floor((L+R) / 2); Cur= A[M]; if (X == Cur) { answer = true; } if (X > Cur) L = M +1; else R = M-1; } return answer; } } //Main Program public static void main(String arg[]) { int[] arr={10,30,45,67,80,90,100}; boolean f; int num; Scanner sc = new Scanner(System.in); System.out.print("Enter a number to search in the array"); num=sc.nextInt(); BinarySearch bs=new BinarySearch(); f=bs.Search(num,arr); System.out.println(f); } }
No comments:
Post a Comment