KEMBAR78
Linear and binary search | PPSX
DATA STRUCTURE
SEARCHING
• SEARCHING MEANSTO FINDWHETHER A PARTICULARVALUE IS PRESENT
INTHE ARRAY OR NOT.
SEARCHING
LINEAR
SEARCH
BINARY
SEARCH
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.
• 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
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.
• 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 ;
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
If we are searching for 31(VAL) then answer is 5(POS)
THANK YOU

Linear and binary search

  • 1.
  • 2.
    SEARCHING • SEARCHING MEANSTOFINDWHETHER A PARTICULARVALUE IS PRESENT INTHE ARRAY OR NOT. SEARCHING LINEAR SEARCH BINARY SEARCH
  • 3.
    LINEAR SEARCH • LINEARSEARCH 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 ISKNOWNAS 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 • BINARYSEARCH 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 EFFICIENTLYWITH 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 aresearching for 31(VAL) then answer is 5(POS)
  • 9.