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

Lesson 05

The document discusses different searching algorithms, including linear search and binary search. Linear search examines each element of an array or data structure one by one to find a target value. It can be applied to both sorted and unsorted data but is inefficient, examining on average half the elements. Binary search works on sorted data by comparing the middle element and eliminating half of the remaining elements with each comparison, making it faster than linear search. The document provides examples and pseudocode to illustrate how each search algorithm works.

Uploaded by

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

Lesson 05

The document discusses different searching algorithms, including linear search and binary search. Linear search examines each element of an array or data structure one by one to find a target value. It can be applied to both sorted and unsorted data but is inefficient, examining on average half the elements. Binary search works on sorted data by comparing the middle element and eliminating half of the remaining elements with each comparison, making it faster than linear search. The document provides examples and pseudocode to illustrate how each search algorithm works.

Uploaded by

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

Jahan University

Vice Chancellor office


Computer Science faculty
IS/IT Department

Course:Data Structure and Algorithms

Chapter 4 - Lesson 5 Searching


Semester: 8th Instructor : Ziaur Rahman
Lecture: Khalilullah Khalid
Computer Science Faculty
Prepare by: Khalilullah Khalid year: 1402
JAHAN UNIVERSITY
Contents
• Linear Search

• Binary Search
Objective & Usage in the Organizations
• To be able to work with Linear Search in array or any
other data structure.

• To work with Binary Search and understand its


benefits.
Searching
Searching is the process of determining whether or not a given value exists in a
data structure or a storage media.
We discuss two searching :
❑ Linear search
❑ Binary search

1
Linear Search
❑ Linear search is a method for finding a particular value in a array list, that consists of
checking every one of its elements, one at a time in sequence, until the desired one is
found.
❑ It is also known as sequential search.

❑ linear search can be applied to both sorted and unsorted arrays.

Example: Finding the Element 33

2
Linear Search Algorithm
Unordered-Linear-Search[A, n, x]

1. for i 1 to n
2. do if A[i] = x
3. then return i
4. else i i + 1
5. return “x not found”

3
Linear Search
❑ Advantages
❑ Easy algorithm to understand
❑ Array can be in any order

❑ Disadvantage
❑ Inefficient (slow): for array of N elements,
❑ Examines N/2 elements on average for value in array
❑ N elements for value not in array

4
Binary Search
❑ A binary search algorithm finds the position of a specific value within a sorted
array.
❑ This search algorithm works on the principle of divide and conquer.
❑ This search algorithm can be quite fast, but the limitation is that the data has to
be in a sorted form.
❑ A binary search is also known as half-interval search or logarithmic search.
❑ Binary search is a fast search algorithm with run-time complexity of Ο(log n).

5
Binary Search
❑ Binary search looks for a particular item by comparing the middle most item of the
collection.
❑ If a match occurs, then the index of item is returned.
❑ If the middle item is greater than the item, then the item is searched in the sub-
array to the left of the middle item.
❑ Otherwise, the item is searched for in the sub-array to the right of the middle item.
❑ This process continues on the sub-array as well until the size of the subarray
reduces to zero.

6
Binary Search

Always look at the center


value. Each time you get
to discard half of the
remaining list.

7
How Binary Search Works
❑ for a binary search to work, it is mandatory for the target array to be sorted.
❑ We shall learn the process of binary search with a pictorial example.
❑ The following is our sorted array and let us assume that we need to search the
location of value 31 using binary search.

8
How Binary Search Works (Cont...)
❑ First, we shall determine half of the array by using this formula −

mid = low + (high - low) / 2

❑ Here it is, 0 + (9 - 0 ) / 2 = 4 (integer value of 4.5). So, 4 is the mid of the array.

9
How Binary Search Works (Cont...)
❑ Now we compare the value stored at location 4, with the value being searched,
i.e. 31.
❑ We find that the value at location 4 is 27, which is not a match.
❑ As the value is greater than 27 and we have a sorted array, so we also know that
the target value must be in the upper portion of the array.

10
How Binary Search Works (Con...)
❑ We change our low to mid + 1 and find the new mid value again.

low = mid + 1 mid = low + (high - low) / 2

❑ Our new mid is 7 now. We compare the value stored at location 7 with our target
value 31.

11
How Binary Search Works (Con...)
❑ The value stored at location 7 is not a match, rather it is more than what we are
looking for. So, the value must be in the lower part from this location.

❑Hence, we calculate the mid again. This time it is 5.

12
How Binary Search Works (Con...)
❑ We compare the value stored at location 5 with our target value. We find that it
is a match.

❑ We conclude that the target value 31 is stored at location 5.


❑ Binary search halves the searchable items and thus reduces the count of
comparisons to be made to very less numbers.

13
Binary Search
❑ Advantage
❑ Much more efficient than linear Search (for array of N elements, performs at
most log2N comparisons)
❑ Disadvantage
❑ Requires that array elements be sorted

14
How Fast is a Binary Search?
❑ Worst case: 11 items in the list took 4 tries

❑ How about the worst case for a list with 32 items ?

❑1st try - list has 16 items

❑2nd try - list has 8 items

❑3rd try - list has 4 items

❑4th try - list has 2 items

❑5th try - list has 1 item

14
Runtime Examples

N Linear Search Binary Search


1 thousand 1,000 10
1 million 1,000,000 20
1 billion 1,000,000,000 30

15
Efficiency of Binary Search
❑ The binary search algorithm is extremely fast compared to an algorithm that tries all
array elements in order

❑About half the array is eliminated from consideration right at the start

❑Then a quarter of the array, then an eighth of the array, and so forth

1
Summery & Students Evaluation
• What is Linear Search?

• How to use Linear search?

• When to use Linear Search?

• When and how to use Binary Search?


Any Questions?
Next Topic

Sorting

26

You might also like