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

Differentiate aggregation and containment, Aggregation is the relationship ...

Aggregation is the relationship among the whole and a part. We can add/subtract some properties in the part (slave) side. It won't affect the entire part. Best example is Car,

Define smtp, SMTP Simple Mail Transfer Protocol, a protocol for sending...

SMTP Simple Mail Transfer Protocol, a protocol for sending e-mail messages among servers. Most e-mail systems that send mail over the Internet use SMTP to send messages from si

Show example of copy command, Q. Show example of COPY command? This COP...

Q. Show example of COPY command? This COPY command copies the REPORT file from the drive C to the disk in drive A. after copying the file in drive A, it will name the new file

Static memories - computer architecture, Static memories Circuits c...

Static memories Circuits capable of receiving their state as long as power is applied volatile Static RAM(SRAM)

Explain the criteria to classify data structures, Explain the criteria to c...

Explain the criteria to classify data structures used for language processors? The data structures utilized in language processing can be classified upon the basis of the subse

What is sector sparing, What is sector sparing? Low-level formatting al...

What is sector sparing? Low-level formatting also sets aside spare sectors not visible to the operating system. The controller can be told to change each bad sector logically w

What is the purpose of the cpu, Problem 1 a) What is the purpose of th...

Problem 1 a) What is the purpose of the CPU and what can the CPU perform. b) Name the two most common types of software and briefly illustrate each one. c) The CPU con

Explain overlay structured program, Explain overlay structured program ? ...

Explain overlay structured program ? A program having overlays is termed as overlay structured program, here an overlay is a part of program that has similar load origin as som

Define deadlock, Define deadlock? Deadlock is a condition, wherein proc...

Define deadlock? Deadlock is a condition, wherein processes never finish executing and system resources are tied up, preventing another job from beginning. A process requests r

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