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

First-order models, First-Order Models: Here if we proposed first-orde...

First-Order Models: Here if we proposed first-order logic as a good knowledge representation language than propositional logic is just because there is more expressive than we

Input - output devices using device controller, Q. Input - output Devices u...

Q. Input - output Devices using Device Controller? A device controller needs not to necessarily control a single device. It can typically control multiple I/O devices. It come

When do you do load and performance testing, We perform load testing once w...

We perform load testing once we are completed with interface (GUI) testing. Modern system architectures are large and difficult. Whereas one user testing primarily on functionality

What is the advantage of caching in a web browser, What is the advantage of...

What is the advantage of caching in a web browser? Like other application browsers utilize a cache to enhance document access. The browser places a copy of all items it retriev

Displacement addressing mode - computer architecture, Displacement and  Sta...

Displacement and  Stack Addressing  mode - computer architecture: Displacement Addressing: In displacement addressing mode there are three types of addressing mode. They

What is elapsed time of computer system, What is elapsed time of computer s...

What is elapsed time of computer system? The total time to implement the total program is known as elapsed time. It is affected by the speed of the processor, the disk and the

How are interrupt handled by the operating system, How are interrupt hand...

How are interrupt handled by the operating system? The fundamental interrupt mechanism works as follows: The CPU hardware has wire called the interrupt-request line which

What is focussed ion beam fix, What is Focussed Ion Beam Fix? A FIB Fix...

What is Focussed Ion Beam Fix? A FIB Fix (Focussed Ion Beam) Fix is simply performed onto a terminated chip. FIB is a somewhat exotic process where a particle beam is capable t

Designing the instruction format, Q. Designing the instruction format is a ...

Q. Designing the instruction format is a complex art? Instruction Length Significance: It's the fundamental issue of the format design. It concludes the richness and flex

Difference between char a[] = "string", What is the difference between char...

What is the difference between char a[] = "string"; and char *p = "string";? Ans) In the first case 6 bytes are assigned to the variable a which is fixed, where as in the secon

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