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

Self-perception, Mr. X seems to view himself in positive terms (MMPI-2: Ho=...

Mr. X seems to view himself in positive terms (MMPI-2: Ho=38) as a well-functioning person who is capable of dealing with his life and personal challenges (MMPI-2: LSE=41, TRT=39),

Explain how does cpu perform read and write operation, Q. Explain how does...

Q. Explain how does CPU perform Read and Write operation on peripheral device taking suitable example in case of Synchronous Technique.

Describe the properties of attributes and operations, Describe the properti...

Describe the properties of Attributesand operations Attributes are named slots for data values that belong to the class. Previously we have studied in MCS-024, different o

Define the aims of program generation activity, Program generation activity...

Program generation activity aims at? Ans. At automatic generation of program the program generation activity aims.

Explain virtual address, What is virtual address? The binary address th...

What is virtual address? The binary address that the processor used for either instruction or data known as virtual address.

Data warehouse, 1) Define a job scheduling strategy that will meet business...

1) Define a job scheduling strategy that will meet business requirement of reporting availability by 6am CST for the following cubes? Show the job scheduling dependencies in a pict

What are the different layers in r/3 system, What are the different layers ...

What are the different layers in R/3 system? There are three layer:- Presentation Layer. Application Layer. Database Layer.

Explain space switching, Explain Space Switching. Space Switches: Con...

Explain Space Switching. Space Switches: Connections can be made in between outgoing and incoming PCM highways by a cross point matrix of the form demonstrated in figure. How

Minimize the logic function using NAND gate, Minimize the logic function F(...

Minimize the logic function F(A, B, C, D) = ∑ m(1,3,5,8,9,11,15) + d(2,13) using NAND gate with help of K-map. Ans. Realization of given expression by using NAND gates:  In

What is friend function in c++, As the name suggests, the function acts as ...

As the name suggests, the function acts as a friend to a class. As a friend of a class, it can access its private & protected members. A friend function is not a member of the clas

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