Binary search, Computer Engineering

Assignment Help:

Binary Search

Now that the basic framework is working, it is time to begin implementing a few alternative search functions. Each of these search algorithms have strengths and weaknesses, depending on the distribution of the input and the search keys used. The classic solution to this problem is binary search. Binary search is a divide-and-conquer algorithm. See Levitin [2007] pp 162 for a detailed description of this algorithm.

ALGORITHM BinarySearch (A[0 . . . n - 1], k)
// Non-recursive binary search in an ordered list.
// INPUT : An array A[0 . . . n - 1] of ordered elements, and a search key k.
// OUTPUT : an index to the position of k in A if k is found or -1 otherwise.
1: l ← 0; r ← n - 1
2: while l ≤ r do
3: m ← ⌊(l + r)/2⌋
4: if A[m] = k then
5: return m
6: else if k < A[m] then
7: r ← m- 1
8: else

9: l ← m+ 1

10: return -1

Algorithm BinarySearch shows the pseudocode for this solution. Implement the algorithm.


Related Discussions:- Binary search

What does formal verification mean, What does formal verification mean? ...

What does formal verification mean? Formal verification uses Mathematical techniques by proving the design by assertions or properties. Correctness of the design can be achiev

What are the different kinds of lock modes, What are the different kinds of...

What are the different kinds of lock modes? There are three types of lock modes:- Shared lock Exclusive lock. Extended exclusive list.

Assembly Language, Write an assembly program to simulate a microwave

Write an assembly program to simulate a microwave

What is page fault, What is page fault? Its types? Page fault refers to...

What is page fault? Its types? Page fault refers to the situation of not having a page in the major memory when any process references it. There are two kinds of page fault :

Explain turing reducibility, Explain Turing reducibility?  Exponential ...

Explain Turing reducibility?  Exponential time algorithms typically happens when we solve by searching by a space of solutions known as brute -force search

How do you perform functional testing under load, Functionality under load ...

Functionality under load can be tested by running various Vusers concurrently. By enhancing the amount of Vusers, we can verify how much load the server can sustain.

What is default look-and-feel of a swing component, The default Look and Fe...

The default Look and Feel of swing components are Java Look-and-Feel.

Explain about 4-bit adder-subtractor circuit, Q. Explain about 4-bit adder-...

Q. Explain about 4-bit adder-subtractor circuit? Subtraction operation on binary numbers can be obtained by succession of addition operations only it implies that to achieve su

Programming, Write a procedure for each of the following: (i) To find the m...

Write a procedure for each of the following: (i) To find the maximum MAX of the values in the list. (ii) To find the average MEAN of the values in the list. (iii) To find the produ

Conversion of decimal number 10.625 into binary number, Conversion of decim...

Conversion of decimal number 10.625 into binary number ? Ans. There is integer part is 10 and fractional part is 0.625. Firstly convert the decimal number 10 in its equal bina

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd