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

The disadvantage of specifying parameter, The disadvantage of specifying pa...

The disadvantage of specifying parameter during instantiation are: -  This has a lower precedence when compared to assigning using defparam.

Basics of caches - computer architecture, Basics of Caches: "The cache...

Basics of Caches: "The caches are situated on basis of blocks, the shortest amount of data which may be copied between 2 adjacent levels at a time. "If requested data by th

Define the most common biometrics, What is most common biometrics? Explain ...

What is most common biometrics? Explain in brief. The most common biometrics is as given below: Face geometry (Photo): The computer captures the picture of your face and m

Copy file from a floppy disk to the hard disk, Q. Copy file from a floppy d...

Q. Copy file from a floppy disk to the hard disk? While using a PC, often you need to copy file from a floppy disk to the hard disk or vice-versa.  For instance, you buy some s

What is input-output processors, Q. What is Input-output processors? le...

Q. What is Input-output processors? let's briefly summarize the development in area of input/output functions. These can be briefed as below: 1. CPU directly controls a peri

Explain list directive in assembly language, Q. Explain list directive in a...

Q. Explain list directive in assembly language? A list directive causes assembler to generate an annotated listing on printer, video screen, disk drive or any combination of th

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.

Why should i use cgi, CGI is significant whenever you require to retain sta...

CGI is significant whenever you require to retain state information about a user, or run an application which communicates with the server. Things like guestbook's, Chat clients, d

Associativity of connectives - equivalences rules, Associativity of Connect...

Associativity of Connectives : Here brackets are very important in order to tell us where to perform calculations in arithmetic and logic. By using these brackets we evaluate

How many bits of data will be produced if voice is converted, If voice is c...

If voice is converted to digital form using PCM, how many bits of data will be produced in half a second? While voice is converted to digital by using PCM that is Pulse Code Mo

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