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 the client- server interface using procedures, Explain the Client- ...

Explain the Client- Server Interface Using Procedures Developers must realize that client-server impose a division of labor in application programs. Programs must be broken up

Stack, The Stack A procedure call is supported by a stack. So let's dis...

The Stack A procedure call is supported by a stack. So let's discuss stack in assembly. Stacks are 'Last In First Out' data structures and are used for storing return addresses

Convert the decimal number to excess-3 code, Convert the decimal number 430...

Convert the decimal number 430 to Excess-3 code ? Ans. Excess  3  is  a  digital  code  acquired  from  adding  3  to  every  decimal  digit  and  after that converting the res

Find the boolean expression for the logic circuit, Find the boolean express...

Find the boolean expression for the logic circuit shown below. Ans. Output of Gate-1 (NAND) = (AB)' Output of Gate-2 (NOR) = (A'+B)' Output of Gate-3 (NOR) = [(AB)' + (

How a direct inward dialling is utilized, Direct inward dialling is used as...

Direct inward dialling is used as a feature in? Direct inward dialling is utilized as a feature in EPABX.

What is a parallel port, What is a parallel port? A parallel port trans...

What is a parallel port? A parallel port transfers data in the form a number of bits, typically 8 to 16, concurrently to or from the device.

Write examples of declarations of external variables, Examples of declarati...

Examples of declarations of external variables  that  are  not definitions: extern char stack[10]; extern int stkptr; These declarations tell the compiler that the variab

How the simulation is done - Weather simulation, How the simulation is done...

How the simulation is done -  Information from the satellites/sensors sent to computer -  This data is compared to information stored on files ..... -  ..... Which contain kno

Computer engineering designing, How the production of metal contributes to ...

How the production of metal contributes to computer engineering designing?

Explain multithreading in a programming language, Multithreading is the pro...

Multithreading is the process in which more than single thread run independent of each other within the process in any programming language such as C, C++, etc.

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