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

Xml can play when dynamically generating html pages , Explain the role that...

Explain the role that XML can play when dynamically generating HTML pages from a relational database? Ans) Even if student has never participated in a project involving this typ

What happens if acknowledge() is called within a transaction, As per the JM...

As per the JMS specification, when you are in a transaction, the acknowledge Mode is ignored. If acknowledge() is known as within a transaction, it is ignored.

Find resolution & volts of a 2-digit BCD D/A converter, A 2-digit BCD D/A c...

A 2-digit BCD D/A converter is a weighted resistor type with E R = 1 Volt, with R = 1M? , R f = 10K? . Find resolution in Percent and Volts. Ans. Resolution = 1/2 2 = 0.25 vo

Determine the frequency of the input signal, An eight stage ripple counter ...

An eight stage ripple counter uses a flip-flop with propagation delay of 75 nanoseconds.  The pulse width of the strobe is 50ns.  The frequency of the input signal which can be use

Explain deadlock, What is a deadlock? A deadlock is a situation that ca...

What is a deadlock? A deadlock is a situation that can increase when two units, A and B use a shared resource. Assume that unit B cannot complete its task unless unit A complet

What is central processing unit, What is Central Processing Unit Centra...

What is Central Processing Unit Central Processing Unit (CPU) performs all the arithmetic and logical calculations in a computer. The CPU is said to be the brain of the compute

Distributivity of connectives, Distributivity of Connectives : In our ...

Distributivity of Connectives : In our last analogy with arithmetic will involve a very well-technique need for playing around with algebraic properties. But assume there if w

Menu driven program with following menu, Q.  Develop a Menu driven program ...

Q.  Develop a Menu driven program with following menu: 1.  Gray code 2.  BCD 3.  Excess-3 code 4.  Exit I/P must be a valid Binary number. Fractional numbers are all

What is the file-system security, What is the File-system security Most...

What is the File-system security Most commercial servers use a powerful operating system as base that provides good methods of file-system security. Some servers require additi

Explain essential loop in process scheduling, Explain essential loop in Pro...

Explain essential loop in Process Scheduling . The complex part of scheduling is to balance policy enforcement along with resource optimization so as to pick the best job to run

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