(Alg-04) Searching Algorithms 2nd 23-24
(Alg-04) Searching Algorithms 2nd 23-24
SEARCHING ALGORITHMS
مالك بريك.د
2nd 23-24 1
• SEARCHING AN ARRAY OR OTHER DATA
STRUCTURE HAS TWO POSSIBLE
OUTCOMES:
• SUCCESSFUL SEARCH (VALUE FOUND)
• UNSUCCESSFUL SEARCH (VALUE NOT
SEARCHING FOUND)
2nd 23-24 3
• WE WILL EXAMINE THREE SEARCHING ALGORITHMS:
• LINEAR SEARCH
• BINARY SEARCH
• JUMP SEARCH
SEARCHING
• A LINEAR SEARCH SEARCHES THE ARRAY FROM THE FIRST
INDEX POSITION TO THE LAST IN A LINEAR PROGRESSION.
2nd 23-24 4
o IN A LINEAR SEARCH, IF THE NUMBER OF ENTRIES
IN THE ARRAY IS N, THERE WILL BE N
COMPARISONS FOR AN UNSUCCESSFUL SEARCH.
2nd 23-24 6
• IF THE VALUES IN AN ARRAY ARE
ARRANGED IN ASCENDING OR
DESCENDING ORDER, THE ARRAY IS
SORTED.
• WE NEXT SEARCH THE MIDDLE POSITION OF THE RIGHT HALF OF THE ARRAY, WHICH IS INDEX
POSITION [6], AND LOCATE THE VALUE.
2nd 23-24 9
BINARY
SEARCH
E F F E C T O F O NE
C O M PA RISON I N B I NA RY
SEARCH.
2ND 23-24 10
• USING THE BINARY SEARCH, IN THE WORST
CASE, THE NUMBER OF COMPARISONS IS
THE NUMBER OF TIMES YOU CAN DIVIDE
THE ARRAY IN HALF.
• LOG2N = K
2nd 23-24 11
BINARY SEARCH
H OW TH E U NS U C C ES SFUL
S E A R C H I S T E R M INAT E D I N
T H E B I NA RY S E A R C H
R O U T INE .
2nd 23-24 12
BINARY SEARCH-NON-RECURSIVE VERSION
2nd 23-24 13
BINARY SEARCH
• RECURSIVE VERSION OF
BINARY SEARCH ALGORITHM.
2nd 23-24 14
JUMP SEARCH:
A FAST SEQUENTIAL SEARCH
TECHNIQUE
input: A: sorted array,
x: key to find in A
output: index of x in A.
Note: For a Jump search to be
applied, the array must be
sorted.
2nd 23-24 15
EXAMPLE
2nd 23-24 16
2nd 23-24 17
JUMP SEARCH TIME COMPLEXITY
2nd 23-24 18