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

Explain about data registers, Q. Explain about data registers? The data...

Q. Explain about data registers? The data registers are used just for storing intermediate results or data and not for operand address calculation. Some dedicated address re

Explain rational robots coding standards, The standards are for all testers...

The standards are for all testers using the IDE of Rational Robot to make their automated test scripts. The mission is to decrease maintenance costs when it comes to changes.

Avantages of oopl in a programming language, Object oriented programming la...

Object oriented programming languages directly show the real life objects. The features of OOPL as inheritance, polymorphism, and encapsulation makes it strong.

What is .net and .net framework, What is .NET / .NET Framework?  It is ...

What is .NET / .NET Framework?  It is a Framework in which Windows applications might be developed and run. The Microsoft .NET Framework is a platform for building, deploying,

Pipelined processor, Pipelined Processor Having discussed pipelining; n...

Pipelined Processor Having discussed pipelining; now we can describe a pipeline processor. A pipeline processor can be distinct as a processor that consists of a series of proc

Ethernet 10 base 2 is an example of which topology, Ethernet 10 Base 2 is a...

Ethernet 10 Base 2 is an example of               network topology. (A)  Bus                                           (B)  Ring (C)  Star

Function makestk-predicate function emptystk, 1. Create the following ADTs....

1. Create the following ADTs. (a) Write the constructor function makestk, predicate function emptystk and mutator functions pushstk and popstk: i. makestk returns a new stack

Explain height of a tree, Height of a tree The length of the longest pa...

Height of a tree The length of the longest path from root to any node is called as the height of the tree.

Develop a program octal to hexadecimal, Q.  Develop a Menu driven program w...

Q.  Develop a Menu driven program with following menu: 1.  Octal to Decimal 2.  Octal to Hexadecimal 3.  Octal to Binary

Temporary location, Compare zero-, one, two-, and three- address machines b...

Compare zero-, one, two-, and three- address machines by writing programs to compute                         X = (A + B x C)/(D - E x F) for every of the four machines.  Do n

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