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

Determine flip-flops that are required for mod–16 counter, How many Flip-Fl...

How many Flip-Flops are required for mod-16 counter? Ans. 4 flip-flops is required for Mod-16 Counter. For Mod-m Counter, we require N flip-flops where N is selected to be the

How to add a wait state when creating a verification point, 1. Start to mak...

1. Start to make the verification point. 2. In the confirmation Point Name dialog box, select Apply wait state to confirmation point. 3. Type values for the following option

Printers, Printers are devices which put ink on paper in a controlled manne...

Printers are devices which put ink on paper in a controlled manner. They manually produce photographic images orreadable text. Printers have gone through a large transition in tech

What is function scope, What is Function scope Function scope: A labe...

What is Function scope Function scope: A label is the only part of identifier that has function scope. A label is declared implicitly by its use in a statement. Label names m

Forward checking - artificial intelligence, Forward checking: Whether ...

Forward checking: Whether to add some sophistication to the search method there constraint solvers use a technique called as forward checking. So here the general idea is to w

Explain function of network layer in tcp/ip protocol stack, Explain about t...

Explain about the function of network layer briefly in TCP/IP protocol stack. Internetwork Layer: The best-called TCP/IP protocol at internetwork layer is Internet Protoc

Why is translation look-aside buffers important, Why is Translation Look-as...

Why is Translation Look-aside Buffers (TLBs) important? The implementation of page-table is completed in the following manner: Page table is maintained in main memory.

What is language of a model, What is language of a model?   Language of...

What is language of a model?   Language of a model is the collection of formulae that use only the relational symbols the model assign and that use every relation symbol with t

Difference between the functions unlink and unset?, Unlink() is a function ...

Unlink() is a function for file system handling. It will easily delete the file in context.   Unset() is a function for variable management. It will create a variable undefin

Evaluate - 48 - 23 by using the 2's complement method, Perform the - 48 - 2...

Perform the - 48 - 23 operations using the 2's complement method. Ans. - 48 - 23 = - 48 + (-23)     -48     =  1 1 0 1 0 0 0 0     -23     =  1 1 1 0 1 0 0 1       = -71

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