0% found this document useful (0 votes)
16 views14 pages

4.17 20 Sort Search

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views14 pages

4.17 20 Sort Search

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 14

4

Sorting and Searching


 Bubble sort is a simple sorting algorithm. This sorting
algorithm is comparison-based algorithm in which each
pair of adjacent elements is compared and the
elements are swapped if they are not in order. This
algorithm is not suitable for large data sets as its
average and worst case complexity are of Ο(n2) where n
is the number of items.
 How Bubble Sort Works?
 We take an unsorted array for our example. Bubble sort
takes Ο(n2) time so we're keeping it short and precise.
 Bubble sort starts with very first two elements,
comparing them to check which one is greater.

 In this case, value 33 is greater than 14, so it is already


in sorted locations. Next, we compare 33 with 27.

 We find that 27 is smaller than 33 and these two values


must be swapped.
 The new array should look like this −

 Next we compare 33 and 35. We find that both are in


already sorted positions.

 Then we move to the next two values, 35 and 10.


 We know then that 10 is smaller 35. Hence they are not
sorted.

 We swap these values. We find that we have reached


the end of the array. After one iteration, the array
should look like this −.

 To be precise, we are now showing how an array should


look like after each iteration. After the second
iteration, it should look like this −
 Notice that after each iteration, at least one value
moves at the end.

 And when there's no swap required, bubble sorts learns


that an array is completely sorted.
 Pseudocode
 Binary search is a fast search algorithm with run-time
complexity of Ο(log n). This search algorithm works on
the principle of divide and conquer. For this algorithm
to work properly, the data collection should be in the
sorted form.
 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.
 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.

 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.
 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.

 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.
 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.

 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.
 Pseudocode
 Find out about sequential search
 Linear search is a very simple search algorithm. In this
type of search, a sequential search is made over all
items one by one. Every item is checked and if a match
is found then that particular item is returned, otherwise
the search continues till the end of the data collection.
 Please writ a algorithm using pseudocode

You might also like