2. SEARCHING
• SEARCHING MEANSTO FINDWHETHER A PARTICULARVALUE IS PRESENT
INTHE ARRAY OR NOT.
SEARCHING
LINEAR
SEARCH
BINARY
SEARCH
3. LINEAR SEARCH
• LINEAR SEARCH IS AVERY SIMPLE SEARCH ALGORITHM. INTHISTYPE OF
SEARCH, A SEQUENTIAL SEARCH IS MADE OVER ALL ITEMS ONE BY ONE.
EVERY ITEM IS CHECKED AND IF A MATCH IS FOUNDTHENTHAT
PARTICULAR ITEM IS RETURNED, OTHERWISETHE SEARCH CONTINUES
TILLTHE END OFTHE DATA COLLECTION.
4. • THIS IS KNOWNAS SEQUENTIAL SEARCH.
ALGORITHM FOR LINEAR SEARCH
LINEAR SEARCH(A, N,VAL, POS)
STEP 1 : [INITIALIZE] SET POS = -1
STEP 2 : [INITIALIZE] SET I = 0
STEP 3 : REPEAT STEP 4WHILE I<N
STEP 4 : IF A[I] =VAL,THEN
SET POS = I
PRINT POS
GOTO STEP 6
[END OF IF]
[END OF LOOP]
STEP 5 : PRINT “VALUE NOT PRESENT IN ARRAY”
STEP 6 : EXIT
5. BINARY SEARCH
• BINARY SEARCH IS A FAST SEARCH ALGORITHM.THIS SEARCH ALGORITHM
WORKS ONTHE PRINCIPLE OF DIVIDE AND CONQUER. FORTHIS
ALGORITHMTOWORK PROPERLY,THE DATA COLLECTION SHOULD BE IN
THE SORTED FORM.
• BINARY SEARCH LOOKS FOR A PARTICULAR ITEM BY COMPARINGTHE
MIDDLE MOST ITEM OFTHE COLLECTION. IF A MATCH OCCURS,THENTHE
INDEX OF ITEM IS RETURNED. IFTHE MIDDLE ITEM IS GREATERTHANTHE
ITEM,THENTHE ITEM IS SEARCHED INTHE SUB-ARRAYTOTHE RIGHT OF
THE MIDDLE ITEM. OTHERWISE,THE ITEM IS SEARCHED FOR INTHE SUB-
ARRAYTOTHE LEFT OFTHE MIDDLE ITEM.THIS PROCESS CONTINUES ON
THE SUB-ARRAY ASWELL UNTILTHE SIZE OFTHE SUBARRAY REDUCESTO
ZERO.
6. • WORKS EFFICIENTLY WITH SORTED LIST.
• ALGORITHM FINDSTHE POSITION OF A PARTICULAR ELEMENT INTHE
ARRAY.
ALGORITHM FOR BINARY SEARCH
BINARY SEARCH(A, LOWER_BOUND, UPPER_BOUND,VAL, POS)
STEP 1 : [INITIALIZE] SET BEG= LOWER_BOUND, END = UPPER_BOUND, POS = -1
STEP 2 : REPEAT STEP 3 AND STEP 4WHILE BEG<=END
STEP 3 : SET MID = (BEG+END)/2
STEP 4 :IF A[MID] =VAL,THEN
POS = MID
PRINT POS
GOTO STEP 6
IF A[MID] >VALTHEN ;
7. SET END = MID -1
ELSE
SET BEG = MID + 1
[END OF IF]
[END OF LOOP]
STEP 5 : PRINT “VALUE NOT PRESENT IN ARRAY”
STEP 6 : EXIT
8. If we are searching for 31(VAL) then answer is 5(POS)