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

Explain the working of any one of centralized spc, Explain the working of a...

Explain the working of any one of centralized SPC? Standby mode of operation is the easiest of dual processor configuration operations. Usually, one processor is active and

What is tape backup, Q. What is Tape Backup? Magnetic tapes are used th...

Q. What is Tape Backup? Magnetic tapes are used these days in computers for the below purposes: Backing up data stored in disks. It is essential to regularly save data s

Translator for low level programming language, Translator for low level pro...

Translator for low level programming language were termed as? Ans. Translator for low level programming language is called as Assembler.

Instruction length - assembly language, Instruction Length: Variabl...

Instruction Length: Variable-length instructions (Intel 80x86, VAX) need multi-step fetch and decode, but permit for a much more flexible and compressed instruction set.

Functioning of registers, Functioning of registers: at any instance of time...

Functioning of registers: at any instance of time global registers and only one window of registers is visible and is addressable as if it were only set of registers. So for progra

What are priority queues, What are priority Queues? There are many queu...

What are priority Queues? There are many queues in which we can insert items or delete items from any of the position based on some property. Now, those queues based on the pro

Eequivalences rules, Eequivalences rules: This conveys a meaning that ...

Eequivalences rules: This conveys a meaning that is actually much simpler so than you would think on first inspection.  Hence we can justify this, by using the following ch

Invoke on the dataadapter control, Which method do you invoke on the DataAd...

Which method do you invoke on the DataAdapter control to load  your generated dataset with data? DataAdapter.Fill(ds). The beauty of this method is it automatically implicitly

Write unix commands, For the following, cmd1 and cmd2 are arbitrary UNIX co...

For the following, cmd1 and cmd2 are arbitrary UNIX commands, and file1 and file2 are files owned by you. Write UNIX (bash) commands to: (a) Run cmd1 and append its output to f

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