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

Scoreboards- constrained-random verification methodology, Scoreboards- Cons...

Scoreboards- Constrained-Random Verification Methodology Scoreboards are used to verify that data has successfully reached its destination whereas monitors snoop the interfaces

What a header represents in CGI document, A Header in CGI document can repr...

A Header in CGI document can represent? A header into CGI document can show format of the document and the location if document used to various URL.

C++ programming, how does a ohms law c++ programming works

how does a ohms law c++ programming works

Differentiate between adaptive and non-adaptive routing, Differentiate betw...

Differentiate between adaptive and non-adaptive routing. Adaptive routing defines the ability of a system, by which routes are characterised through their destination, to cha

Object-oriented control architecture for ams manufacturing, Object-Oriented...

Object-Oriented Control Architecture For Ams Manufacturing Introduction     In recent past, the industrial sectors have started presenting additional inclination toward

What is an accessor in c++, An accessor is a class operation that does not ...

An accessor is a class operation that does not change the state of an object in C++. The access or functions require to be declared as const operations

What is the use of boot block, What is the use of boot block? For a com...

What is the use of boot block? For a computer to start running when powered up or rebooted it needs to have an initial program to run. This bootstrap program tends to be simple

Give the example of spreadsheet, Give the example of Spreadsheet By sel...

Give the example of Spreadsheet By selecting cell C1 and dragging the formula down to C5 the below formulae will be replicated in C2 to C5: (A2*B2), (A3*B3), (A4*B4) and (A5*B5

Write the truth table to realize the function nand gate, For F = A.B.C +...

For F = A.B.C + B.C.D ‾ + A ‾.B.C, write  the  truth  table to realize the function using NAND gates only ? Ans. Logic Function given as F = ABC + BC‾D + A‾BC, simplification o

Functioning of registers, Functioning of registers: at any instance of time...

Functioning of registers: at any instance of time global registers and only one window of registers is visible and is addressable as if it were only set of registers. So for progra

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