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

C program, Write a program to find the area under the curve y = f(x) betwee...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve between two points can b

Explain firewall, A firewall is Software or hardware used to separate a...

A firewall is Software or hardware used to separate a private network from a public network.

What are condition codes, What are condition codes? In many processors,...

What are condition codes? In many processors, the condition code flags are kept in the processor status register. They are either set are cleared by lots of instructions, so th

On what machines matlab should be run?, Matlab will run from sthelens, and ...

Matlab will run from sthelens, and only if sthelens is down, from cher, orsay or tiree. It runs on other machines too, but some of the other machines have older versions of the OS

How to copy files from a drive and directory, Q. How to copy files from a d...

Q. How to copy files from a drive and directory? You can copy files from a drive and directory other that the currently selected one. However in that case, you need to speci

Fundamental difference between smart card and e-cash, What is the fundament...

What is the fundamental difference between the transactions made using Smart Card and E-cash? Smart Card and E-Cash: E-cash storable smart cards can dispense and store ca

What are the types of subroutines, What are the types of Subroutines? ...

What are the types of Subroutines? Internal Subroutines: The source code of the internal subroutines will be in the similar ABAP/4 program as the calling procedure (intern

Thematic analysis - flash design, Thematic Analysis & Interpretation: ...

Thematic Analysis & Interpretation: The next steps in analysis are to move beyond what is literally there in the image (formal visual elements) and examine the meaning they re

Design a nand-to-and gate network, Q Use as few gates as possible, design a...

Q Use as few gates as possible, design a NAND-to-AND gate network that realize the following Boolean algebra expression. ABCD + A'BC'D + A'BC'D' + A'BCD + (A'B'C'D' + A'BCD')

Define range which a normalised mantissa can signify, Now let's define rang...

Now let's define range which a normalised mantissa can signify. Let's presume that our present representations has normalised mantissa so left most bit can't be zero so it has to b

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