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 bus, Define bus. When a word of data is transferred among units...

Define bus. When a word of data is transferred among units, all the bits are transferred in parallel over a set of lines called bus. In addition to the lines that take the data

Define micro routine and microinstruction, Define micro routine and microin...

Define micro routine and microinstruction. A sequence of control words corresponding to the control sequence of a machine instruction represents the micro routine for that ins

Define security protocols used for e-commerce applications, Define various ...

Define various security protocols used for e-commerce applications. The e-commerce systems of today are composed of very many components as like: a commerce server, client soft

Explain about the voice recognition device, Explain about the Voice recogni...

Explain about the Voice recognition device Blind and partially-sighted people can communicate with a computer using microphone and software (keyboard and touch screens can't be

What is configuration, What is configuration?  Turing  machine  compute...

What is configuration?  Turing  machine  computes,  changes  occur  in  the  current  state,  the  current  tap contents  and  the  current  head  location. A  setting  of  the

Asp.net, in asp project is i have to crate database every time when i move ...

in asp project is i have to crate database every time when i move my project on different server

Example of unification, Example of Unification: Let now here, assume i...

Example of Unification: Let now here, assume instead that we had these two sentences as:  knows(john,X) → hates(john, X)  knows(jack, mary)  Thus here the predicate n

Calculate switching capacity in a two stage network, In a two stage network...

In a two stage network there are 512 inlets and outlets, r=s=24. If the probability that a given inlet is active is 0.8, calculate: Switching capacity Given: N =M =512, α

Which objects are independent transport objects, Which objects are independ...

Which objects are independent transport objects? Domains, Data elements, Tables, Technical settings for tables, Secondary indexes for transparent tables, Structures, Views, Ma

What are the "field" and "chain" statements, What are the "field" and "chai...

What are the "field" and "chain" Statements? The FIELD and CHAIN flow logic statements let you Program your own checks. FIELD and CHAIN tell the system which fields you are ch

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